Fonts

Fonts

מדריך זה מראה כיצד לבדוק את הגופנים המופיעים במסמך, לחלץ נתוני גופנים מוטמעים, ולשלוט בהטמעת גופנים TrueType בעת השמירה עם Aspose.Words FOSS עבור .NET. Aspose.Words FOSS עבור .NET עוקב אחרי כל גופן שמופיע במסמך טעון באמצעות FontInfoCollection, ומחשוף מטא-נתונים לכל גופן, חילוץ גופנים מוטמעים, ובקרות הטמעה בעת שמירה דרך FontInfo. Document.FontSettings ו-LoadOptions.FontSettings מספקים את נקודת הכניסה FontSettings (בכוונה מינימלית, במהדורה זו).


בדיקת הגופנים המשמשים במסמך

DocumentBase.FontInfos (מורש על ידי Document) מחזיר FontInfoCollection המתאר כל גופן שמופיע בכל מקום במסמך. ניתן לאנדקס אותו לפי שם (למשל fontInfos["Arial"]), לבדוק אם הוא קיים עם Contains(name), לספור אותם עם Count, או למנות את כל האוסף דרך GetEnumerator().


מאפייני גופנים וסיווג

כל FontInfo מתאר גופן אחד: Name ו-AltName מזהים אותו, Family מסווג אותו דרך המונה FontFamily (Auto, Roman, Swiss, Modern, Script, Decorative), Pitch מדווח על FontPitch שלו (Default, Fixed, Variable), ו-IsTrueType, Charset, ו-Panose חושפים נתוני התאמת גופנים ברמה נמוכה יותר.


חילוץ גופנים מוטמעים

אם למסמך יש גופנים משובצים, FontInfo.GetEmbeddedFont(format, style) מחזיר את בתי הגופן המשובץ הגולמיים עבור EmbeddedFontFormat נתון (EmbeddedOpenType או OpenType) ו-EmbeddedFontStyle (Regular, Bold, Italic, BoldItalic). GetEmbeddedFontAsOpenType(style) מחזיר את הגופן שהומר לפורמט OpenType ישירות, ללא קשר לאופן שבו הוא היה משובץ במקור.


זכויות רישוי לשיבוץ גופנים

לפני חילוץ או שיבוץ מחדש של גופן, בדוק את FontInfo.EmbeddingLicensingRights, אובייקט מסוג FontEmbeddingLicensingRights. EmbeddingUsagePermissions מדווח על רמת הרישיון דרך האינום FontEmbeddingUsagePermissions (Installable, RestrictedLicense, PrintAndPreview, Editable), בעוד NoSubsetting ו-BitmapEmbeddingOnly מציינים הגבלות נוספות שהוגדרו על ידי ספק הגופן.


בקרת שיבוץ גופנים בזמן שמירה

FontInfoCollection גם נושא מתגים לשיבוץ ברמת המסמך: הגדר את EmbedTrueTypeFonts ל-true כדי לשבץ כל גופן TrueType המשמש במסמך בעת השמירה, EmbedSystemFonts כדי לכלול גופנים שבדרך כלל נחשבים לנוכחים בכל מערכת, ו-SaveSubsetFonts כדי לשבץ רק את האותיות שבשימוש בפועל במקום את כל הגופן.


היקף FontSettings במהדורה זו

Document.FontSettings ו-LoadOptions.FontSettings מחזירים שניהם אובייקט FontSettings, ו-FontSettings.DefaultInstance מציג מופע ברירת מחדל משותף. במהדורה ה-FOSS הזו, משטח ה-API של FontSettings מוגבל לתכונת מופע ברירת המחדל — פתרון מקורות גופנים מבוסס תיקייה ומערכת, אשר במקומות אחרים ב-Aspose.Words משמש להחלפה או פתרון גופנים עבור פריסת דפים והצגה, אינו קיים, מכיוון שפריסת דפים והצגה נמצאים מחוץ להיקף המהדורה הזו. טיפול בגופנים כאן משמעותו בחינת מטה-נתונים ושיבוץ, ולא החלפת גופנים לצורך הצגה.


טיפים והמלצות מיטביות

  • תמיד לבדוק את FontInfo.EmbeddingLicensingRights.EmbeddingUsagePermissions לפני חילוץ או הפצה מחדש של גופן משובץ — חלק מהגופנים מורשים RestrictedLicense או PrintAndPreview בלבד.
  • השתמש ב-GetEmbeddedFontAsOpenType() כאשר אתה זקוק לפורמט פלט עקבי ללא תלות באופן שבו המסמך המקורי משבץ את הגופן (EmbeddedOpenType לעומת OpenType).
  • הגדר את FontInfoCollection.SaveSubsetFonts ל-true כדי להקטין את גודל קובץ הפלט בעת הטמעת גופנים שמשתמשים רק במעט גליפים.
  • FontInfoCollection.Contains(name) זול יותר מאשר לבצע אינדקס ולטפל בכשל בחיפוש (למשל fontInfos[name]) כאשר אתה רק צריך לבדוק את נוכחות הגופן.

בעיות נפוצות

בעיהסיבהתיקון
GetEmbeddedFont() אינו מחזיר נתונים ניתנים לשימושהגופן שהופנה אינו משובץ בפועל במסמךבדוק את הגדרות ההטמעה של המסמך לפני הנחת קיומם של נתוני גופן
אינדקס ב-FontInfoCollection לפי שם אינו מוצא דברשם הגופן אינו תואם בדיוק, כולל רישיותספור את FontInfoCollection עם GetEnumerator() כדי לאשר את המחרוזת המדויקת Name
ממשקי API צפויים להחלפת/פתרון גופנים חסריםפתרון מקור גופנים על בסיס תיקייה ומערכת אינו מיושם בגרסה החופשית (FOSS) הזוהשתמש ב-FontInfo/FontInfoCollection למטא-דאטה והטמעה בלבד; החלפת גופנים להצגה אינה חלק מהיקף הגרסה הזו

FAQ

איך אני רושם את כל הגופנים שהמסמך מתייחס אליהם?

ספור את Document.FontInfos (‏FontInfoCollection) דרך GetEnumerator(), או בצע אינדקס אליו לפי שם כדי למצוא ספציפי (למשל fontInfos["Arial"]).

האם אני יכול לחלץ את הבייטים הגולמיים של גופן משולב מתוך מסמך?

כן, אם הגופן משולב — קרא FontInfo.GetEmbeddedFont(format, style) לקבלת הפורמט המשולב המקורי, או GetEmbeddedFontAsOpenType(style) כדי לנרמל את התוצאה ל-OpenType.

איך אני מוודא שהגופנים משולבים כשאני שומר מסמך?

הגדר FontInfoCollection.EmbedTrueTypeFonts ל-true לפני השמירה; הוסף EmbedSystemFonts אם אתה גם צריך שהגופנים ייחשבו כקיימים בכל מערכת, ו-SaveSubsetFonts כדי לשלב רק את הגליפים שבשימוש.

האם גרסה זו תומכת במציאת גופנים מתיקייה מותאמת אישית לצורך רינדור?

לא — פתרון מקור גופנים על בסיס תיקייה ומערכת (FontSettings קונפיגורציית מקור) אינו מיושם כאן, מכיוון שהוא נועד לשרת פריסת דפים ורינדור, אשר מחוץ לתחום של גרסה זו של קוד פתוח.

מה משמעות FontEmbeddingLicensingRights.NoSubsetting?

זהו דגל רישוי שמדווח על ידי זכויות ההטמעה של ספק הגופן: כאשר true, אין אפשרות להקטין את הגופן רק לגליפים שבשימוש.


API Reference סיכום

מחלקה / מתודהתיאור
FontInfoCollectionגופנים שמוזכרים במסמך; אינדקס לפי שם (fontInfos[name]), Contains(), Count, GetEnumerator(), ועוד EmbedTrueTypeFonts/EmbedSystemFonts/SaveSubsetFonts
FontInfoנתוני מטא של גופן אחד: Name, AltName, Family, Pitch, IsTrueType, Charset, Panose, EmbeddingLicensingRights
FontInfo.GetEmbeddedFont() / GetEmbeddedFontAsOpenType()הוצא בתים של גופן משובץ
EmbeddedFontFormat / EmbeddedFontStyleEnums המזהים את פורמט וגירסת הסגנון של גופן משובץ
FontEmbeddingLicensingRights / FontEmbeddingUsagePermissionsהגבלות רישיון הטמעה מדווחות לכל גופן
FontSettingsנקודת כניסה מינימלית של font-settings (Document.FontSettings, LoadOptions.FontSettings); ללא פתרון של font-source במהדורה זו

ראה גם

 עברית