גופן חלופי וטקסט אנכי

HotPDF יכול לבחור פנים חלופיות לפי כתב Unicode, לדווח על נקודות-קוד שנותרות בלתי-פתורות, ולכתוב טקסט CJK דרך מצב כתיבת CID אנכית אמיתי

שרשראות חלופיות מבוססות-מסמך

THotPDF.SetFontFallbackChain מאחסן רשימת פנים מסודרת עבור קטגוריית THPDFFontScript אחת

THPDFPage.TextOutWithFallback פותר כל סקלר Unicode מול הפנים שנבחרה, שרשרת הכתב שלה והשרשרת המשותפת, ואז פולט סקלרים סמוכים עם אותה פנים כרצף טקסט אחד

אבחון שניתן לפעול לפיו

AnalyzeUnresolvedGlyphs מבצע ביקורת כיסוי לקריאה-בלבד, בעוד TextOutWithFallback רושם סקלרים בלתי-פתורים שנתקלו בהם במהלך הפלט

כל THPDFUnresolvedGlyphInfo כולל את נקודת-הקוד של הסקלר, הפנים העיקרית, הכתב המסווג ורשימת הצעות חלופיות מופרדת בנקודה-פסיק

GetUnresolvedGlyphs מחזיר את הדוח הנוכחי של המסמך ו-ClearUnresolvedGlyphs פותח מרווח דיווח חדש

עומסי היתר עם הסגנון המפורש של THotPDF.ResolveFontForCodePoint ושל THotPDF.AnalyzeUnresolvedGlyphs מקבלים TFontStyles כדי ש-preflight יוכל לבדוק את אותן פנים שבהן נעשה שימוש לפלט; עומסי היתר המקוריים שלהם ממשיכים לבדוק פנים רגילות

תיבות טקסט, טקסט SVG מוטמע ומראות טקסט טעונות שומרות על משפחות גופן בסגנון לאורך הפריסה החלופית, במקום להתייחס לשמות גופן פנימיים של PDF כאל משפחות מערכת או להחליף כל ריצה לפנים רגילה

כתיבת CJK אנכית

THPDFPage.TextOutVertical בוחר את הגרסה האנכית של הפנים הנוכחית ופולט רצף טקסט Identity-V אחד במקום למקם כל תו ידנית

דוגמה

PDF.SetFontFallbackChain(hfsCJK,
  ['Microsoft YaHei UI', 'Yu Gothic UI', 'Malgun Gothic']);
PDF.SetFontFallbackChain(hfsEmoji, ['Segoe UI Emoji']);

PDF.CurrentPage.SetFont('Arial', [], 12);
PDF.CurrentPage.TextOutWithFallback(72, 72, 0, Text);

PDF.CurrentPage.SetFont('Yu Gothic UI', [], 14);
PDF.CurrentPage.TextOutVertical(420, 72, VerticalText);

Missing := PDF.GetUnresolvedGlyphs;

APIs קשורים