aspose.info
HE

CFF2 - פורמט קובץ גופן קומפקטי גרסה 2

עודכן

מהו קובץ CFF2?

פורמט הקובץ CFF2 הוא גרסה 2.0 של פורמט הקובץ CFF ומאפשר אחסון יעיל של קווי מתאר גליפים ומטא נתונים בדומה לפורמט הקובץ CFF. CFF2 שונה מ-CFF בכך שהוא נועד לשמש בהקשר של גופן OpenType כטבלת ‘sfnt’ עם התג CFF2. לא ניתן להשתמש בה כתוכנית עצמאית והיא תלויה בנתונים בטבלאות OpenType אחרות.

פורמט קובץ CFF2

מפרט פורמט הקובץ CFF2 מכיל פרטים על פריסת נתונים פנימית, סוגי נתונים, טבלאות ומידע פנימי אחר על פורמט הקובץ. ניתן להפנות אותו לעיון המפתח. חלק מהפרטים על אלה הם כדלקמן.

פריסת נתונים

הנתונים הבינאריים של פורמט קובץ CFF2 מאורגנים באופן הגיוני כמספר מבני נתונים נפרדים. הפריסה בתוך הנתונים הבינאריים היא כפי שמוצג בטבלה הבאה.

כניסההערות
כותרתמיקום קבוע
Top DICTמיקום קבוע
Global Subr INDEXמיקום קבוע
וריאציהחנות
FDSelectהצג רק אם יש יותר מ- Font DICT אחד ב- Font DICT INDEX.
פונט DICT INDEX
מערך גופנים DICTכלול ב- Font DICT INDEX.
DICT פרטיאחד לכל גופן DICT.

רק שלושת המבנים הראשונים מבוססים על מיקומים קבועים. הנותרים מגיעים באמצעות קיזוז, וניתן לשנות את הסדר שלהם.

סוגי מידע

פורמט הקובץ CFF2 משתמש בסוגי הנתונים הבאים.

שםטווחתיאור
uint80 עד 255מספר ללא סימן של 8 סיביות
uint160 עד 65535מספר 16 סיביות לא חתום
uint320 עד 4294967295מספר 32 סיביות לא חתום
היסטמשתנהקיזוז של 1, 2, 3 או 4 בתים (מצוין בשדה OffSize בטבלת אינדקס)
OffSize1 עד 4מספר 1-byte ללא סימן מציין את הגודל של שדה או שדות Offset

הוא מאחסן את כל הנתונים מספריים מרובים בתים ושדות היסט בסדר בתים גדולים. פורמט CFF2 נקי מבייט ריפוד מכיוון שהוא אינו מכבד כל מגבלות יישור.

נתוני DICT

קבצי CFF2 מכילים את נתוני מילון הגופנים כצמדי מפתח-ערך בפורמט אסימון קומפקטי. מפתחות מילון מקודדים כאופרטורים של 1 או 2 בתים וערכי מילון מקודדים כאופרנדים מספריים בגודל משתנה. ישנם שלושה מבנים המשתמשים בפורמט DICT Data: Top DICT, Font DICT ו-Private DICT. מוגדרים מספר סוגי אופרנדים שלמים בגדלים שונים ומקודדים כפי שמוצג בטבלה הבאה (הבית הראשון של האופרנד הוא b0, השני הוא b1 וכן הלאה).

גודלטווח b0טווח ערכיםחישוב ערך
132 עד 246-107 עד +107b0 - 139
2247 עד 250+108 עד +1131(b0 - 247) * 256 + b1 + 108
2251 עד 254-1131 עד -108-(b0 - 251) * 256 - b1 - 108
328-32768 ל-+32767b1 « 8
529-(2^31) עד +(2^31 - 1)b1 « 24 | b2 « 16 | b3 « 8 | b4

כותרת

הנתונים הבינאריים מתחילים בכותרת בעלת הפורמט המוצג בטבלה למטה.

הקלדשםתיאור
uint8majorVersionפורמט גרסה עיקרית. הגדר ל-2.
uint8minorVersionפורמט גרסה משנית. הגדר לאפס.
uint8headerSizeגודל כותרת (בתים).
uint16topDictLengthאורך מבנה ה-DICT העליון בבתים.

הפניות

ראו גם