L' otfcc est une bibliothèque C et un utilitaire utilisé pour l'analyse et l'écriture de fichiers de police OpenType.
GSUB , GPOS et GDEF ), CFF à clé CID, mesures verticales, etc.ttx sur CFF OTF et 40 × sur TTF.makeotf pour construire un OTF CFF entièrement optimisé. Vous pouvez télécharger les binaires prédéfinis ici.
Si vous avez Homebrew, exécutez simplement ce qui suit dans votre terminal.
brew tap caryll/tap
brew install otfcc-mac64 Remarque: une installation complète de Xcode est requise. Veuillez vous référer aux instructions ici si vous voyez une erreur liée à xcode-select .
Sinon, vous devrez peut-être cliquer sur les «versions» ci-dessus et télécharger les archives.
Le package otfcc peut être trouvé ici.
Voir ci-dessous.
otfccdump : vider un fichier de police OpenType dans JSON otfccdump [OPTIONS] input.[otf|ttf|ttc]
-h, --help : Display this help message and exit.
-v, --version : Display version information and exit.
-o <file> : Set output file path to <file>. When absent the dump
will be written to STDOUT.
-n <n>, --ttc-index <n> : Use the <n>th subfont within the input font.
--pretty : Prettify the output JSON.
--ugly : Force uglify the output JSON.
--verbose : Show more information when building.
--ignore-glyph-order : Do not export glyph order information.
--glyph-name-prefix pfx : Add a prefix to the glyph names.
--ignore-hints : Do not export hinting information.
--decimal-cmap : Export 'cmap' keys as decimal number.
--name-by-hash : Name glyphs using its hash value.
--add-bom : Add BOM mark in the output. (It is default on Windows
when redirecting to another program. Use --no-bom to
turn it off.)
otfccbuild : Créez un fichier de police OpenType de JSON Usage : otfccbuild [OPTIONS] [input.json] -o output.[ttf|otf]
input.json : Path to input file. When absent the input will be
read from the STDIN.
-h, --help : Display this help message and exit.
-v, --version : Display version information and exit.
-o <file> : Set output file path to <file>.
-s, --dummy-dsig : Include an empty DSIG table in the font. For some
Microsoft applications, DSIG is required to enable
OpenType features.
-O<n> : Specify the level for optimization.
-O0 Turn off any optimization.
-O1 Default optimization.
-O2 More aggressive optimizations for web font. In this
level, the following options will be set:
--merge-features
--short-post
--subroutinize
-O3 The most aggressive opptimization strategy will be
used. In this level, these options will be set:
--force-cid
--ignore-glyph-order
--verbose : Show more information when building.
--ignore-hints : Ignore the hinting information in the input.
--keep-average-char-width : Keep the OS/2.xAvgCharWidth value from the input
instead of stating the average width of glyphs.
Useful when creating a monospaced font.
--keep-unicode-ranges : Keep the OS/2.ulUnicodeRange[1-4] as-is.
--keep-modified-time : Keep the head.modified time in the json, instead of
using current time.
--short-post : Don't export glyph names in the result font.
--ignore-glyph-order, -i : Ignore the glyph order information in the input.
--keep-glyph-order, -k : Keep the glyph order information in the input.
Use to preserve glyph order under -O2 and -O3.
--dont-ignore-glyph-order : Same as --keep-glyph-order.
--merge-features : Merge duplicate OpenType feature definitions.
--dont-merge-features : Keep duplicate OpenType feature definitions.
--merge-lookups : Merge duplicate OpenType lookups.
--dont-merge-lookups : Keep duplicate OpenType lookups.
--force-cid : Convert name-keyed CFF OTF into CID-keyed.
--subroutinize : Subroutinize CFF table.
--stub-cmap4 : Create a stub `cmap` format 4 subtable if format
12 subtable is present.
otfcc peut être construit sur un certain nombre de plates-formes. Il utilise le système de construction Premake.
Il a été développé et optimisé pour Clang / LLVM, il est donc fortement recommandé de se compiler avec Clang / LLVM, mais si ce n'est pas possible GCC est également pris en charge, GCC version 5.1 ou version ultérieure étant le choix préféré pour les performances.
Sur Linux, Clang / LLVM ou GCC peut être utilisé pour construire otfcc .
premake5 gmake
cd build/gmake
make config=release_x64Si Ninja est installé sur votre système, vous pouvez utiliser Ninja non plus:
premake5 ninja
cd build/ninja
ninja otfccdump_release_x64 otfccbuild_release_x64Modifiez les cibles ci-dessus si nécessaire.
Sur Windows, la construction otfcc est testée sous les chaînes d'outils indiqués ci-dessous. La par défaut premake5 vs2015 produira une solution Visual Studio utilisant Clang-CL comme compilateur.
GCC 5.1 inclus dans TDM-GCC , ou GCC 6.1.0 dans MingW-W64. Exécutez ce qui suit à partir de la ligne de commande (modifiez la config si nécessaire):
premake5 gmake
cd build/gmake
make config=release_x64 Pour utiliser Ninja comme celle de Linux, vous devez spécifier le --os=linux lorsque vous utilisez premake5 ninja .
Outils de construction visuels C ++ (mars 2016) avec Clang / LLVM 3.9. Seule la construction de libération est testée. Exécutez ce qui suit à partir de l'invite de commande visuelle C ++:
premake5 vs2015
msbuild buildvsotfcc.sln /property:Configuration=Release Premake5 (peut être installé via brew install premake --devel ou se trouver dans le répertoire dep/bin-osx ) offre la capacité de produire des projets Xcode. Courir
premake5 xcode4 Et puis vous pouvez ouvrir build/xcode/otfcc.xcworkspace et Build avec Xcode. Vous pouvez trouver des binaires construits en bin/ .
Veuillez vous assurer que le mode développeur de Xcode est activé.
Pour construire des binaires dans votre terminal, courez
xcodebuild -workspace build/xcode/otfcc.xcworkspace -scheme otfccbuild -configuration Release
xcodebuild -workspace build/xcode/otfcc.xcworkspace -scheme otfccdump -configuration Release