s/OpenTypeFont/OpenTypeFontFace/g

This commit is contained in:
Behdad Esfahbod 2006-12-27 19:58:32 -05:00
parent 71d62baab0
commit 133466177e
1 changed files with 23 additions and 21 deletions

View File

@ -207,7 +207,7 @@ struct Fixed_Version : Fixed {
* Organization of an OpenType Font * Organization of an OpenType Font
*/ */
struct OpenTypeFontFile; struct OpenTypeFontFaceFile;
struct OffsetTable; struct OffsetTable;
struct TTCHeader; struct TTCHeader;
@ -230,14 +230,14 @@ typedef struct OffsetTable {
USHORT entrySelector; /* Log2(maximum power of 2 <= numTables). */ USHORT entrySelector; /* Log2(maximum power of 2 <= numTables). */
USHORT rangeShift; /* NumTables x 16-searchRange. */ USHORT rangeShift; /* NumTables x 16-searchRange. */
TableDirectory tableDir[]; /* TableDirectory entries. numTables items */ TableDirectory tableDir[]; /* TableDirectory entries. numTables items */
} OpenTypeFont; } OpenTypeFontFace;
/* /*
* TrueType Collections * TrueType Collections
*/ */
struct TTCHeader { struct TTCHeader {
/* OpenTypeFonts, in no particular order */ /* OpenTypeFontFaces, in no particular order */
DEFINE_OFFSET_ARRAY_TYPE (OffsetTable, offsetTable, numFonts); DEFINE_OFFSET_ARRAY_TYPE (OffsetTable, offsetTable, numFonts);
Tag ttcTag; /* TrueType Collection ID string: 'ttcf' */ Tag ttcTag; /* TrueType Collection ID string: 'ttcf' */
@ -253,8 +253,8 @@ struct TTCHeader {
* OpenType Font File * OpenType Font File
*/ */
struct OpenTypeFontFile { struct OpenTypeFontFaceFile {
DEFINE_NON_INSTANTIABLE(OpenTypeFontFile); DEFINE_NON_INSTANTIABLE(OpenTypeFontFaceFile);
static const hb_tag_t TrueTypeTag = HB_TAG ( 0 , 1 , 0 , 0 ); static const hb_tag_t TrueTypeTag = HB_TAG ( 0 , 1 , 0 , 0 );
static const hb_tag_t CFFTag = HB_TAG ('O','T','T','O'); static const hb_tag_t CFFTag = HB_TAG ('O','T','T','O');
static const hb_tag_t TTCTag = HB_TAG ('t','t','c','f'); static const hb_tag_t TTCTag = HB_TAG ('t','t','c','f');
@ -262,11 +262,11 @@ struct OpenTypeFontFile {
/* Factory: ::get(font_data) /* Factory: ::get(font_data)
* This is how you get a handle to one of these * This is how you get a handle to one of these
*/ */
static inline const OpenTypeFontFile& get (const char *font_data) { static inline const OpenTypeFontFaceFile& get (const char *font_data) {
return (const OpenTypeFontFile&)*font_data; return (const OpenTypeFontFaceFile&)*font_data;
} }
static inline OpenTypeFontFile& get (char *font_data) { static inline OpenTypeFontFaceFile& get (char *font_data) {
return (OpenTypeFontFile&)*font_data; return (OpenTypeFontFaceFile&)*font_data;
} }
/* This is how you get a table */ /* This is how you get a table */
@ -291,14 +291,14 @@ struct OpenTypeFontFile {
case TTCTag: return ((const TTCHeader&)*this).get_len(); case TTCTag: return ((const TTCHeader&)*this).get_len();
} }
} }
inline const OpenTypeFont& operator[] (unsigned int i) const { inline const OpenTypeFontFace& operator[] (unsigned int i) const {
assert (i < get_len ()); assert (i < get_len ());
switch (tag) { switch (tag) {
default: case TrueTypeTag: case CFFTag: return (const OffsetTable&)*this; default: case TrueTypeTag: case CFFTag: return (const OffsetTable&)*this;
case TTCTag: return ((const TTCHeader&)*this)[i]; case TTCTag: return ((const TTCHeader&)*this)[i];
} }
} }
inline OpenTypeFont& operator[] (unsigned int i) { inline OpenTypeFontFace& operator[] (unsigned int i) {
assert (i < get_len ()); assert (i < get_len ());
switch (tag) { switch (tag) {
default: case TrueTypeTag: case CFFTag: return (OffsetTable&)*this; default: case TrueTypeTag: case CFFTag: return (OffsetTable&)*this;
@ -318,7 +318,7 @@ struct OpenTypeFontFile {
*/ */
/* /*
* Script, ScriptList, LangSys, Feature, FeatureList, Lookup, LookupList, SubTable * Script, ScriptList, LangSys, Feature, FeatureList, Lookup, LookupList
*/ */
struct Script; struct Script;
@ -328,7 +328,6 @@ struct Feature;
struct FeatureList; struct FeatureList;
struct Lookup; struct Lookup;
struct LookupList; struct LookupList;
struct SubTable;
typedef struct Record { typedef struct Record {
Tag tag; /* 4-byte Tag identifier */ Tag tag; /* 4-byte Tag identifier */
@ -440,7 +439,7 @@ struct LookupFlag : USHORT {
struct Lookup { struct Lookup {
/* SubTables, in the desired order */ /* SubTables, in the desired order */
DEFINE_OFFSET_ARRAY_TYPE (SubTable, subTableOffset, subTableCount); DEFINE_OFFSET_ARRAY_TYPE (char*, subTableOffset, subTableCount);
inline bool is_right_to_left (void) const { return lookupFlag & LookupFlag::RightToLeft; } inline bool is_right_to_left (void) const { return lookupFlag & LookupFlag::RightToLeft; }
inline bool ignore_base_glyphs(void) const { return lookupFlag & LookupFlag::IgnoreBaseGlyphs; } inline bool ignore_base_glyphs(void) const { return lookupFlag & LookupFlag::IgnoreBaseGlyphs; }
@ -716,16 +715,16 @@ main (int argc, char **argv)
printf ("Opened font file %s: %d bytes long\n", argv[1], len); printf ("Opened font file %s: %d bytes long\n", argv[1], len);
const OpenTypeFontFile &ot = OpenTypeFontFile::get (font_data); const OpenTypeFontFaceFile &ot = OpenTypeFontFaceFile::get (font_data);
switch (ot.tag) { switch (ot.tag) {
case OpenTypeFontFile::TrueTypeTag: case OpenTypeFontFaceFile::TrueTypeTag:
printf ("OpenType font with TrueType outlines\n"); printf ("OpenType font with TrueType outlines\n");
break; break;
case OpenTypeFontFile::CFFTag: case OpenTypeFontFaceFile::CFFTag:
printf ("OpenType font with CFF (Type1) outlines\n"); printf ("OpenType font with CFF (Type1) outlines\n");
break; break;
case OpenTypeFontFile::TTCTag: case OpenTypeFontFaceFile::TTCTag:
printf ("TrueType Collection of OpenType fonts\n"); printf ("TrueType Collection of OpenType fonts\n");
break; break;
default: default:
@ -736,7 +735,7 @@ main (int argc, char **argv)
int num_fonts = ot.get_len (); int num_fonts = ot.get_len ();
printf ("%d font(s) found in file\n", num_fonts); printf ("%d font(s) found in file\n", num_fonts);
for (int n_font = 0; n_font < num_fonts; n_font++) { for (int n_font = 0; n_font < num_fonts; n_font++) {
const OpenTypeFont &font = ot[n_font]; const OpenTypeFontFace &font = ot[n_font];
printf ("Font %d of %d:\n", n_font+1, num_fonts); printf ("Font %d of %d:\n", n_font+1, num_fonts);
int num_tables = font.get_len (); int num_tables = font.get_len ();
@ -763,8 +762,11 @@ main (int argc, char **argv)
printf (" %d language system(s) found in script\n", num_langsys); printf (" %d language system(s) found in script\n", num_langsys);
for (int n_langsys = 0; n_langsys < num_langsys; n_langsys++) { for (int n_langsys = 0; n_langsys < num_langsys; n_langsys++) {
const LangSys &langsys = script[n_langsys]; const LangSys &langsys = script[n_langsys];
printf (" Language System %2d of %2d: %.4s\n", n_langsys+1, num_langsys, printf (" Language System %2d of %2d: %.4s; %d features\n", n_langsys+1, num_langsys,
(const char *)script.get_tag(n_langsys)); (const char *)script.get_tag(n_langsys),
langsys.get_len ());
if (!langsys.get_required_feature_index ())
printf (" No required feature\n");
} }
} }