Font Fallback and Vertical Text

HotPDF می‌تواند قلم‌های جایگزین را بر اساس خط یونیکد انتخاب کند، نقاط کد حل‌نشده را گزارش دهد و متن CJK را از طریق حالت نوشتن عمودی واقعی CID بنویسد

زنجیره‌های جایگزین سطح سند

THotPDF.SetFontFallbackChain THPDFFontScript فهرست مرتبی از قلم‌ها را برای یک ردهٔ ذخیره می‌کند

THPDFPage.TextOutWithFallback هر اسکالر یونیکد را با قلم انتخاب‌شده، زنجیرهٔ خطش و زنجیرهٔ مشترک حل می‌کند و اسکالرهای مجاور با قلم یکسان را به‌صورت یک قطعهٔ متن صادر می‌کند

تشخیص‌های قابل اقدام

AnalyzeUnresolvedGlyphs TextOutWithFallback یک بازرسی پوششِ فقط‌خواندنی انجام می‌دهد، در حالی که اسکالرهای حل‌نشدهٔ برخورده در حین خروجی را ثبت می‌کند

هر THPDFUnresolvedGlyphInfo شامل نقطهٔ کد اسکالر، قلم اصلی، خط دسته‌بندی‌شده و فهرست پیشنهاد جایگزین جداشده با نقطه‌ویرگول است

GetUnresolvedGlyphs ClearUnresolvedGlyphs گزارش جاری سند را برمی‌گرداند و یک بازهٔ گزارش‌دهی جدید آغاز می‌کند

سربارگذاری‌های سبک-صریحِ THotPDF.ResolveFontForCodePoint و THotPDF.AnalyzeUnresolvedGlyphs مقدار TFontStyles می‌پذیرند تا preflight بتواند همان سبکی را که برای خروجی به کار رفته بازرسی کند؛ سربارگذاری‌های اصلی همچنان سبک regular را بازرسی می‌کنند

جعبه‌های متنی، متن جاسازی‌شدهٔ SVG و ظاهرهای متنیِ بارگذاری‌شده در سراسر چیدمان جایگزین، خانواده‌های فونت سبک‌دار را نگه می‌دارند؛ به‌جای آنکه نام‌های فونت داخلی PDF را خانوادهٔ سیستمی بگیرند یا همهٔ قطعه‌ها را به سبک regular برگردانند

نوشتن عمودی 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;

APIهای مرتبط