|
THPDFPage.SetFont
|
بالا قبلی بعدی |
|
فونت فعلی مورد استفاده در روشهای خروجی متن را تنظیم میکند
نحو Delphi: procedure SetFont ( FontName: AnsiString; FontStyle: TFontStyles; ASize: Single; FontCharset: TFontCharset = DEFAULT_CHARSET; IsVertiacal: Boolean); تعریف TFontStylesتعیین میکند که فونت معمولی، مورب، زیرخطدار، ضخیم و مانند آن باشد type TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut); TFontStyles = set of TFontStyle; توضیح: از Style برای افزودن ویژگیهای خاص به نویسههایی که از فونت استفاده میکنند استفاده کنید. Style مجموعهای از صفر یا چند مقدار از موارد زیر است مقدار معنا fsBold فونت ضخیم است fsItalic فونت مورب است fsUnderline فونت زیرخط دارد fsStrikeOut فونت با یک خط افقی از وسط نمایش داده میشود تعریف TFontCharsetTFontCharset مجموعه نویسههای یک فونت را نمایش میدهد type TFontCharSet = 0..255; توضیح: هر نوع قلم در Windows از یک یا چند مجموعه نویسه پشتیبانی میکند که مشخص میکنند با آن فونت چه نویسههایی میتوان نوشت. برای مثال، بیشتر فونتهایی که میتوانند نویسههای ژاپنی را نمایش دهند از یک مجموعه نویسه چندبایتی مشخص استفاده میکنند هر فونت مجموعه نویسههای خاص و منحصربهفرد خودش را پشتیبانی میکند. برای تعیین مجموعههای پشتیبانیشده با سازنده فونت بررسی کنید جدول زیر ثابتهای از پیشتعریفشده برای مجموعههای نویسه استاندارد را فهرست میکند Constant Value Description ANSI_CHARSET 0 نویسههای ANSI DEFAULT_CHARSET 1 فونت فقط بر اساس Name و Size انتخاب میشود SYMBOL_CHARSET 2 مجموعه نماد استاندارد MAC_CHARSET 77 نویسههای Macintosh. در NT 3.51 موجود نیست SHIFTJIS_CHARSET 128 نویسههای ژاپنی shift-JIS HANGEUL_CHARSET 129 نویسههای کرهای (Wansung) JOHAB_CHARSET 130 نویسههای کرهای (Johab). در NT 3.51 موجود نیست GB2312_CHARSET 134 نویسههای چینی سادهشده (سرزمین اصلی چین) CHINESEBIG5_CHARSET 136 نویسههای چینی سنتی (تایوانی) GREEK_CHARSET 161 نویسههای یونانی. در NT 3.51 موجود نیست TURKISH_CHARSET 162 نویسههای ترکی. در NT 3.51 موجود نیست VIETNAMESE_CHARSET 163 نویسههای ویتنامی. در NT 3.51 موجود نیست HEBREW_CHARSET 177 نویسههای عبری. در NT 3.51 موجود نیست ARABIC_CHARSET 178 نویسههای عربی. در NT 3.51 موجود نیست BALTIC_CHARSET 186 نویسههای بالتیک. در NT 3.51 موجود نیست RUSSIAN_CHARSET 204 نویسههای سیریلیک. در NT 3.51 موجود نیست THAI_CHARSET 222 نویسههای تایلندی. در NT 3.51 موجود نیست EASTEUROPE_CHARSET 238 شامل نشانههای اعرابگذاری برای کشورهای اروپای شرقی است. در NT 3.51 موجود نیست OEM_CHARSET 255 به codepage سیستمعامل بستگی دارد
نحو C++: void __fastcall SetFont ( AnsiString FontName, Graphics::TFontStyles FontStyle, float ASize, Graphics::TFontCharset FontCharset; IsVertiacal: Boolean);
توضیح: روش SetFont فونت فعلی را برای خروجی متن تنظیم میکند. FontStyle شامل صفر یا چند پرچم سبک است و ASize اندازه فونت را تعیین میکند
هنگام جابهجایی بین فونتهای مختلف، HotPDF وضعیت glyph یونیکد کششده برای فونت قبلی را بازنشانی میکند و شناسهها و عرض glyph را برای فونت فعال resolve میکند. این برای فونتهای تعبیهشدهای مانند Calibri و دیگر فونتهای TrueType Unicode مهم است
برای خروجی تکرارپذیر در همه نمایشگرها، پیش از فراخوانی SetFont، THotPDF.FontEmbedding را فعال کنید و THotPDF.StandardFontEmulation را غیرفعال کنید
وقتی FontEmbedding فعال باشد، HotPDF نام PostScript برنامه فونت TrueType تعبیهشده را استخراج میکند و نامهای فونت PDF متناظر را مینویسد. این کار دادههای /BaseFont و /FontDescriptor را حتی وقتی نام face ویندوزی پاسدادهشده به SetFont یک alias یا face جایگزین باشد، سازگار نگه میدارد
نمونه کد
همچنین ببینید: TextOut |