HTML5画布中的希腊字母

3
有没有一种方法可以在HTML5画布上打印希腊字母?我尝试使用HTML实体名称和编号,像这样:
canvas2.cx.fillText("ξ", 50, 50);

并且

canvas2.cx.fillText("ξ", 50, 50);

但是它只是字面上地打印输出,因为画布不知道如何解释这些符号。


这是因为<script>块或外部脚本文件被解释为字面数据,而不是扩展实体(通常在HTML文本节点和属性值中)。如果这是XHTML,您的内联脚本就不会特殊处理,您可以使用实体,尽管您还必须将您的“&”和小于号编码为HTML,这很麻烦。 - Neil
可能是 HTML5 Canvas:度符号 的重复问题。 - Phrogz
3个回答

12

直接使用UTF-8编码即可。

在HTML或Canvas中,您不必转义字符来书写它们。

在文档中使用正确的头部:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF8">

1
对于HTML5,您可以简单地编写<meta charset="utf-8"> - Phrogz
@Phrogz 谢谢,我不知道那个(我查了规范,你是对的)。 - Denys Séguret

8
如果您想将JavaScript源代码限制为ASCII,但仍然需要在字符串中包含非ASCII字符,则可以使用Unicode转义序列:(小希的代码点是U+03BE):
canvas2.cx.fillText("\u03be", 50, 50);

1

喜欢 αβ 吗?如果你正在使用 UTF-8,那么你可以直接输入字符文字。例如:

canvas2.cx.fillText("α", 50, 50);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接