📄 gxvfgen.c
字号:
/***************************************************************************//* *//* gxfgen.c *//* *//* Generate feature registry data for gxv `feat' validator. *//* This program is derived from gxfeatreg.c in gxlayout. *//* *//* Copyright 2004, 2005, 2006 by Masatake YAMATO and Redhat K.K. *//* *//* This file may only be used, *//* modified, and distributed under the terms of the FreeType project *//* license, LICENSE.TXT. By continuing to use, modify, or distribute *//* this file you indicate that you have read the license and *//* understand and accept it fully. *//* *//***************************************************************************//***************************************************************************//* *//* gxfeatreg.c *//* *//* Database of font features pre-defined by Apple Computer, Inc. *//* http://developer.apple.com/fonts/Registry/ *//* (body). *//* *//* Copyright 2003 by *//* Masatake YAMATO and Redhat K.K. *//* *//* This file may only be used, *//* modified, and distributed under the terms of the FreeType project *//* license, LICENSE.TXT. By continuing to use, modify, or distribute *//* this file you indicate that you have read the license and *//* understand and accept it fully. *//* *//***************************************************************************//***************************************************************************//* *//* Development of gxfeatreg.c is supported by *//* Information-technology Promotion Agency, Japan. *//* *//***************************************************************************//***************************************************************************//* *//* This file is compiled as a stand-alone executable. *//* This file is never compiled into `libfreetype2'. *//* The output of this file is used in `gxvfeat.c'. *//* ----------------------------------------------------------------------- *//* Compile: gcc `pkg-config --cflags freetype2` gxvfgen.c -o gxvfgen *//* Run: ./gxvfgen > tmp.c *//* *//***************************************************************************/ /*******************************************************************/ /* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING */ /*******************************************************************/ /* * If you add a new setting to a feature, check the number of settings * in the feature. If the number is greater than the value defined as * FEATREG_MAX_SETTING, update the value. */#define FEATREG_MAX_SETTING 12 /*******************************************************************/ /* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING */ /*******************************************************************/#include <stdio.h>#include <string.h> /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** Data and Types *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/#define APPLE_RESERVED "Apple Reserved"#define APPLE_RESERVED_LENGTH 14 typedef struct GX_Feature_RegistryRec_ { const char* feat_name; char exclusive; char* setting_name[FEATREG_MAX_SETTING]; } GX_Feature_RegistryRec;#define EMPTYFEAT {0, 0, {NULL}} static GX_Feature_RegistryRec featreg_table[] = { { /* 0 */ "All Typographic Features", 0, { "All Type Features", NULL } }, { /* 1 */ "Ligatures", 0, { "Required Ligatures", "Common Ligatures", "Rare Ligatures", "Logos", "Rebus Pictures", "Diphthong Ligatures", "Squared Ligatures", "Squared Ligatures, Abbreviated", NULL } }, { /* 2 */ "Cursive Connection", 1, { "Unconnected", "Partially Connected", "Cursive", NULL } }, { /* 3 */ "Letter Case", 1, { "Upper & Lower Case", "All Caps", "All Lower Case", "Small Caps", "Initial Caps", "Initial Caps & Small Caps", NULL } }, { /* 4 */ "Vertical Substitution", 0, { /* "Substitute Vertical Forms", */ "Turns on the feature", NULL } }, { /* 5 */ "Linguistic Rearrangement", 0, { /* "Linguistic Rearrangement", */ "Turns on the feature", NULL } }, { /* 6 */ "Number Spacing", 1, { "Monospaced Numbers", "Proportional Numbers", NULL } }, { /* 7 */ APPLE_RESERVED " 1", 0, {NULL} }, { /* 8 */ "Smart Swashes", 0, { "Word Initial Swashes", "Word Final Swashes", "Line Initial Swashes", "Line Final Swashes", "Non-Final Swashes", NULL } }, { /* 9 */ "Diacritics", 1, { "Show Diacritics", "Hide Diacritics", "Decompose Diacritics", NULL } }, { /* 10 */ "Vertical Position", 1, { /* "Normal Position", */ "No Vertical Position", "Superiors", "Inferiors", "Ordinals", NULL } }, { /* 11 */ "Fractions", 1, { "No Fractions", "Vertical Fractions", "Diagonal Fractions", NULL } }, { /* 12 */ APPLE_RESERVED " 2", 0, {NULL} }, { /* 13 */ "Overlapping Characters", 0, { /* "Prevent Overlap", */ "Turns on the feature", NULL } }, { /* 14 */ "Typographic Extras", 0, { "Hyphens to Em Dash", "Hyphens to En Dash", "Unslashed Zero", "Form Interrobang", "Smart Quotes", "Periods to Ellipsis", NULL } }, { /* 15 */ "Mathematical Extras", 0, { "Hyphens to Minus", "Asterisk to Multiply", "Slash to Divide", "Inequality Ligatures", "Exponents",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -