将字符名称(即逗号)转换为实际字符(即)

时间:2013-08-08 20:12:12

标签: c# .net fonts kerning

我目前正在尝试从字体文件中获取字距调整信息。到目前为止,我已经使用Font Forge进行了字距调整。它为您提供了类似的字距调整对列表:

pos \Y \s -184;
pos \Y \A -154;
pos \o \period -49;
pos \r \period -150;
pos \r \comma -170;

现在的问题在于,不是给我一个ascii代码或其他东西,为了标点符号而不是其他非字母字符,它只是给出了字符的名称,例如:逗号,句号等。

有人会想到一种将名称'逗号'转换为实际逗号','字符的方法吗?我有点难过。

2 个答案:

答案 0 :(得分:1)

没有内置方法可以这样做。可以提供此类信息的最近的类是CharUnicodeInfo,但它不会将名称映射到字符。

你必须建立如下的自定义地图:

   var nameToChar = new Dictionary<string,char>()
     { {"period", '.'} };

   var ch = nameToChar["period"];

答案 1 :(得分:1)

从人类可读的字符名称到字符值将需要两个表示之间的映射。您可以自己执行此操作,也可以搜索为您执行此操作的库。我无法找到一个c库,但像这个java库这样的东西可以解决这个问题:

http://sisc-scheme.org/manual/javadoc/sisc/reader/CharUtil.html

另一个选择是仔细查看Font Forge以查看它是否具有直接输出所需信息的选项。

http://fontforge.org/