THPDFPage.SetFont

THPDFPage

 

Atas  Sebelumnya  Berikutnya

Menetapkan font aktif yang dipakai oleh metode keluaran teks

 

Sintaks Delphi:

procedure SetFont ( FontName: AnsiString; FontStyle: TFontStyles; ASize: Single; FontCharset: TFontCharset = DEFAULT_CHARSET; IsVertiacal: Boolean);

Definisi TFontStyles

Menentukan apakah font bersifat normal, italic, bergaris bawah, tebal, dan seterusnya

type

  TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut);

  TFontStyles = set of TFontStyle;

Deskripsi:
Gunakan Style untuk menambahkan karakteristik khusus pada karakter yang memakai font. Style adalah set yang berisi nol atau lebih nilai berikut:

Nilai	Arti

fsBold	Font ditebalkan
fsItalic	Font dimiringkan
fsUnderline	Font digarisbawahi
fsStrikeOut	Font ditampilkan dengan garis horizontal melintasinya

Definisi TFontCharset

TFontCharset merepresentasikan himpunan karakter sebuah font

type TFontCharSet = 0..255;

Deskripsi:
Setiap typeface Windows mendukung satu atau lebih himpunan karakter, yang menunjukkan karakter apa saja yang bisa ditulis menggunakan font itu. Misalnya, sebagian besar font yang dapat merepresentasikan karakter Jepang memakai himpunan karakter multi-byte tertentu
Setiap font mendukung himpunan karakter yang unik miliknya sendiri. Cek ke vendor font untuk mengetahui himpunan karakter mana yang didukung
Tabel berikut mencantumkan konstanta bawaan yang disediakan untuk himpunan karakter standar:

Konstanta			Nilai	Keterangan

ANSI_CHARSET		0	Karakter ANSI
DEFAULT_CHARSET		1	Font dipilih hanya berdasarkan Name dan Size
SYMBOL_CHARSET		2	Set simbol standar
MAC_CHARSET		77	Karakter Macintosh. Tidak tersedia di NT 3.51
SHIFTJIS_CHARSET		128	Karakter Jepang shift-JIS
HANGEUL_CHARSET		129	Karakter Korea (Wansung)
JOHAB_CHARSET		130	Karakter Korea (Johab). Tidak tersedia di NT 3.51
GB2312_CHARSET		134	Karakter Tionghoa Sederhana (mainland China)
CHINESEBIG5_CHARSET	136	Karakter Tionghoa Tradisional (Taiwan)
GREEK_CHARSET		161	Karakter Yunani. Tidak tersedia di NT 3.51
TURKISH_CHARSET		162	Karakter Turki. Tidak tersedia di NT 3.51
VIETNAMESE_CHARSET	163	Karakter Vietnam. Tidak tersedia di NT 3.51
HEBREW_CHARSET		177	Karakter Ibrani. Tidak tersedia di NT 3.51
ARABIC_CHARSET		178	Karakter Arab. Tidak tersedia di NT 3.51
BALTIC_CHARSET		186	Karakter Baltik. Tidak tersedia di NT 3.51
RUSSIAN_CHARSET		204	Karakter Kiril. Tidak tersedia di NT 3.51
THAI_CHARSET		222	Karakter Thai. Tidak tersedia di NT 3.51
EASTEUROPE_CHARSET	238	Mencakup tanda diakritik untuk negara-negara Eropa Timur. Tidak tersedia di NT 3.51
OEM_CHARSET		255	Tergantung pada codepage sistem operasi

 

Sintaks C++:

void __fastcall SetFont ( AnsiString FontName, Graphics::TFontStyles FontStyle, float ASize, Graphics::TFontCharset FontCharset; IsVertiacal: Boolean);

 

Deskripsi:

Metode SetFont menetapkan font aktif untuk keluaran teks. FontStyle berisi nol atau lebih flag gaya dan ASize menentukan ukuran font

 

Saat berpindah antara font yang berbeda, HotPDF mereset state glyph Unicode yang dicache untuk font sebelumnya dan menyelesaikan ID glyph serta lebar untuk font aktif. Ini penting untuk font tertanam seperti Calibri dan font Unicode TrueType lainnya

 

Untuk keluaran yang konsisten di berbagai viewer, aktifkan THotPDF.FontEmbedding dan nonaktifkan THotPDF.StandardFontEmulation sebelum memanggil SetFont

 

Saat FontEmbedding diaktifkan, HotPDF menyelesaikan nama PostScript program font TrueType tertanam dan menulis nama font PDF yang cocok. Ini menjaga data /BaseFont dan /FontDescriptor tetap konsisten meskipun nama face Windows yang diberikan ke SetFont merupakan alias atau face pengganti

 

Contoh kode

program TextOut;
{$APPTYPE CONSOLE}
uses
    SysUtils, Graphics, Classes, HPDFDoc;

var
    HPDF: THotPDF;

begin
    HPDF := THotPDF.Create ( nil ) ;
    try
        HPDF.AutoLaunch := true;
        HPDF.FileName := 'TextOut.pdf';
        HPDF.FontEmbedding := true;
        HPDF.StandardFontEmulation := false;
        HPDF.BeginDoc;
        HPDF.CurrentPage.SetFont('Calibri', [fsBold], 24);
        HPDF.CurrentPage.TextOut(10, 10, 0, 'Embedded font output');
        HPDF.EndDoc;
    finally
        HPDF.Free;
    end;
end.

 

Lihat juga: TextOut