2013-08-08 3 views
2

В настоящее время я пытаюсь получить информацию о кернинге из файла шрифта. На данный момент у меня есть пары кернинга с использованием Font Forge. Это дает вам список кернинга пар, как так:Преобразование имени символа (то есть запятая) в фактический символ (т. Е.)

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

Теперь проблема заключается в том, что вместо того, чтобы дать мне код ASCII или что-то, для пунктуации Иным небуквенные символов это только дает имя символа, например запятая, период и т. д.

Может ли кто-нибудь подумать о способе преобразования имени «запятая» в фактическую запятую «символ»? Я немного в тупике.

ответ

1

Переход от считываемого символьного имени человека к значению символов требует соответствия между двумя представлениями. Вы можете сделать это самостоятельно или найти библиотеку, которая сделает это за вас. Я не смог найти библиотеку переменного тока, но что-то вроде этого библиотека Java может сделать трюк:

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

Другой вариант заключается в повнимательнее взглянуть на Font Forge, чтобы увидеть, если он имеет опции для вывода на информацию, которую вы хотите получить напрямую.

http://fontforge.org/

1

Нет встроенного способа сделать это. Ближайшим классом, который мог предоставить такую ​​информацию, является CharUnicodeInfo, но он не отображает имена символов.

Вы должны были бы построить собственную карту, как следующее:

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

    var ch = nameToChar["period"]; 
+0

Это именно то, что я пытаюсь избежать, но я, возможно, просто придется стиснуть и сделать некоторые осла работы – jcvandan

Смежные вопросы