otfed : Opentype Font Format Encoder & Decoder otfedcli При условии, что opam (диспетчер пакетов для OCAML, COQ и т. Д.) Установлен, вызывает следующие команды:
$ cd < your-workspace >
$ git clone https://github.com/gfngfn/otfed
$ cd otfed
$ opam pin add otfed . Вероятно, последняя команда, выше, спросит вас, установить otfed . Тогда ответите y .
Если нет, то призыв к следующей команде:
$ opam install otfed otfedcli $ dune exec otfedcli < path/to/font-file > < command > ... < command >
<command> ::=
| tables # Prints all the tags of tables contained in the font.
| cmap # Prints all the Unicode-aware `cmap` subtables.
| cmap_word "<arbitrary-utf8-text>" # Consults `cmap` subtables for each character in the given text.
| head # Prints the contents of `head` table.
| hhea # Prints the contents of `hhea` table.
| vhea # Prints the contents of `vhea` table.
| maxp # Prints the contents of `maxp` table.
| hmtx <glyph-id> # Consults the `hmtx` table by the glyph of ID <glyph-id>.
| vmtx <glyph-id> # Consults the `vmtx` table by the glyph of ID <glyph-id>.
| glyf <glyph-id> <output-svg-file> # Outputs the glyph of ID <glyph-id> that has TrueType outlines.
| cff <glyph-id> <output-svg-file> # Outputs the glyph of ID <glyph-id> that has CFF outlines.
| cff_lex <glyph-id> # Prints the tokenized CharString of the glyph of ID <glyph-id>.
| cff_top # Prints the Top DICT in the `CFF␣` table.
| charset <glyph-id> # Prints the name of the glyph by consulting the charset in `CFF␣`.
| gsub <script> <langsys> <feature> # Prints the contents of `GSUB` subtables.
| gpos <script> <langsys> <feature> # Prints the contents of `GPOS` subtables.
| subset <glyph-ids> <output-ttf> # Makes a subset font by using given glyph IDs.
<glyph-ids> ::= (comma-separated glyph IDs where no space is allowed around commas) Консультации cmap -подтабильны с помощью кодовых точек Unicode:
$ dune exec otfedcli input/ipaexm.ttf cmap_word "田中太郎"
* subtable (platform: 0, encoding: 3)
- U+7530 --> 2900
- U+4E2D --> 2746
- U+592A --> 2614
- U+90CE --> 3830
* subtable (platform: 3, encoding: 1)
- U+7530 --> 2900
- U+4E2D --> 2746
- U+592A --> 2614
- U+90CE --> 3830
* subtable (platform: 3, encoding: 10)
- U+7530 --> 2900
- U+4E2D --> 2746
- U+592A --> 2614
- U+90CE --> 3830 Напечатает все подталки cmap с Unicode-Aware в Ipaex Mincho (пожалуйста, будьте осторожны с большими выходами на Stdout):
$ dune exec otfedcli input/ipaexm.ttf cmap
(omitted)Выводит глиф ID 1000 в iPaex Mincho в качестве файла SVG:
$ dune exec otfedcli input/ipaexm.ttf glyf 1000 output/ipaexm1000.svg
(omitted)Выводит глиф идентификатора 50 в компьютерной современной пишущей машинке в виде файла SVG:
$ dune exec otfedcli input/cmunit.otf cff 50 output/cmunit1000.svg
(omitted) Выводит подмножество Junicode, которая содержит .notdef
$ dune exec otfedcli input/Junicode.ttf subset 0,113,302 output/Junicode-subset.ttf | Столы | Кодирование операций | Декодирование операций | ||||
|---|---|---|---|---|---|---|
| Поддерживается | Протестирован | Поддерживается | Протестирован | |||
| Необходимый | CMAP | Формат 0 | - | - | - | - |
| Формат 2 | - | - | - | - | ||
| Формат 4 | - | - | V. | V. | ||
| Формат 6 | - | - | - | - | ||
| Формат 8 | - | - | - | - | ||
| Формат 10 | - | - | - | - | ||
| Формат 12 | V. | V. | V. | V. | ||
| Формат 13 | - | - | V. | V. | ||
| Формат 14 | V. | V. | V. | V. | ||
| голова | V. | V. | V. | V. | ||
| HHEA | V. | V. | V. | V. | ||
| HMTX | V. | V. | V. | V. | ||
| MAXP | V. | V. | V. | V. | ||
| имя | V. | V. | V. | V. | ||
| ОС/2 | верховенство 0 | V. | о | V. | о | |
| верховенство 1 | V. | о | V. | о | ||
| верховенство 2 | V. | V. | V. | V. | ||
| верховенство 3, 4 и 5 | V. | о | V. | о | ||
| почта | V. | V. | V. | V. | ||
| TTF | cvt␣ | - | - | - | - | |
| FPGM | - | - | - | - | ||
| Глиф | V. | V. | V. | V. | ||
| локация | короткий | V. | V. | V. | о | |
| длинный | V. | о | V. | V. | ||
| подготовка | - | - | - | - | ||
| задыхаться | - | - | - | - | ||
| CFF | Cff␣ | V. | о | V. | V. | |
| CFF2 | - | - | - | - | ||
| Vorg | - | - | - | - | ||
| Svg | Svg␣ | - | - | - | - | |
| Необязательный | DSIG | - | - | - | - | |
| керн | Формат 0 | - | - | V. | V. | |
| другой | - | - | - | - | ||
| VHEA | верховенство 1.0 | V. | V. | V. | V. | |
| верховенство 1.1 | V. | х | V. | х | ||
| VMTX | V. | V. | V. | V. | ||
| Передовой | БАЗА | - | - | - | - | |
| GDEF | - | - | - | - | ||
| ГПО | LookUpType 1 | - | - | V. | о | |
| LookUpType 2 | - | - | V. | о | ||
| LookUptype 3 | - | - | V. | х | ||
| LookUptype 4 | - | - | V. | о | ||
| LookUpType 5 | - | - | V. | о | ||
| LookUpType 6 | - | - | V. | о | ||
| LookUptype 7 | - | - | - | - | ||
| LookUptype 8 | - | - | - | - | ||
| LookUpType 9 | - | - | V. | о | ||
| GSUB | LookUpType 1 | - | - | V. | о | |
| LookUpType 2 | - | - | V. | о | ||
| LookUptype 3 | - | - | - | - | ||
| LookUptype 4 | - | - | V. | о | ||
| LookUpType 5 | - | - | - | - | ||
| LookUpType 6 | - | - | - | - | ||
| LookUptype 7 | - | - | - | - | ||
| LookUptype 8 | - | - | - | - | ||
| JSTF | - | - | - | - | ||
| Математика | - | - | V. | V. | ||
Предполагается, что дюна (≥2,7) установлена.
$ dune build$ dune test Эта библиотека была разработана с намерением переформулирования otfm .
Смотрите также:
otfm для satysfiНекоторые модульные тесты используют данные, извлеченные из следующих шрифтов:
ipaexm.ttflmroman10-regular.otf и lmmono10-regular.otfDejaVuSans-ExtraLight.ttf