如何将用字体 A 编写的 unicode 字符串转换为字体 B?
假设所有需要的字体在客户端的机器上都可用。
想必大家都可以看到以下内容 用印度语写的“stackoverflow”一词 语言脚本:'स्टैकओवरफ्लो'。一个 使用 Web Developers 快速查找 工具告诉我们这个词是这样写的 使用“Arial、Liberation Sans..”字体 家庭。这是Arial字体的意思吗 支持印度语脚本吗?真的是Arial字体吗?
我想显示所有这样的字符串 安装了另一种 unicode 字体 机器。我怎样才能使用它来转换它 JavaScript?我的理解是, 因为没有直接的 1-1 映射 在这些 unicode 字体之间,有一些 可能需要某种转换。
如何将 unicode 字体映射到 普通101键美式键盘?以便 输入“stackoverflow”会得到 转换为 'स्टैकओवरफ्लो' 如果 选择正确的字体。它似乎 使用一些工具,这是 可能的。这是正常的吗 方法?还有其他选择吗?
EDIT1 此和此资源似乎很有帮助。
EDIT2 假设一个特定的 unicode 字符串可以用小键盘上的 ALT+0234、ALT+0244、ALT+0221 的组合形式用字体 A 编写。在字体 B 中,相同的字符串将通过不同的组合写入,如 ALT+0212、ALT+0223、ALT+0242。那么我该如何进行这种转换呢?
编辑3请参阅此图片以获取更多说明。请参阅括号中的最后 2 个字符串。这些是我想要转换的字符串。这 2 个字符串以 2 种不同的字体呈现相同的印度语字符串。
Assuming all the required fonts are available on client's machine.
Probably, you all could see following
'stackoverflow' word written in Indic
Language script : 'स्टैकओवरफ्लो' . A
quick lookup using Web Developers
Tools tells that this word is written
using 'Arial, Liberation Sans..' font
family. Does that mean Arial font
supports Indic language scripts? Is it really Arial font?I want to display all such strings in
another unicode font installed on
machine. How could I convert it using
javascript? My understanding is,
since there is no direct 1-1 mapping
between these unicode fonts, some
kind of conversion might be required.How can I map a unicode font to
normal 101 keys US keyboard? So that
typing 'stackoverflow' would get
converted into 'स्टैकओवरफ्लो' if
proper font is selected. It seems
using some tools, this is
possible. Is this the normal
approach? Are there any alternatives?
EDIT1 This and this resource seem to be helpful.
EDIT2 Suppose a particular unicode string could be written in Font A as a combination of ALT+0234, ALT+0244, ALT+0221 on numpad. In Font B, same string would be written via different combination like ALT+0212, ALT+0223, ALT+0242. So how could I do this conversion?
EDIT3 Please see this image for more clarification. See last 2 strings in brackets. Those are the strings I want to convert to and from. Those 2 strings render same Indic string in 2 different fonts.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果主字体没有当前字符的字形,大多数现代布局引擎都能够替换其他字体。这可能就是您所看到的。
两种字体的文本完全相同;唯一的问题是,并非所有字体都可能具有所有字符的字形,因此它们将无法正确显示文本。
您需要使用输入法编辑器才能使用罗马键盘输入非罗马文本;有关详细信息,请参阅操作系统文档。
Most modern layout engines have the capability to substitute other fonts if the main font doesn't have a glyph for the current character. This is probably what you're seeing.
It's exactly the same text in both fonts; the only issue is that not all fonts may have glyphs for all characters, so they will be unable to display the text properly.
You need to use an Input Method Editor in order to enter non-Roman text with a Roman keyboard; see your OS documentation for details.