home *** CD-ROM | disk | FTP | other *** search
- unit UFontDemo;
- {*
- * FontList.dpr âtâHâôâgé¿éµé╤ò╢ÄÜù±è╓ÿAé╠âfâé
- *
- * Copyright(c) 2000 Takezou
- *
- *}
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls,
- {*
- * uses é╔PDFMakeré╞PWFontsé≡Æ╟ë┴é▒é╠âfâéé═âvâìâVü[âWââé╠ê°Éöé╞é╡é─
- * TPDFMakeré╠Canvasé≡éφé╜é╡é─éóéΘé╜é▀üAé▒é▒é╠usesé╔Æ╟ë┴é╖éΘüB
- *
- *}
- PDFMaker, PMFonts;
-
- type
- TForm1 = class(TForm)
- Button1: TButton;
- procedure Button1Click(Sender: TObject);
- private
- FPDFMaker: TPDFMaker;
- procedure MakeFontList(X, Y: Single; ACanvas: TPDFContents);
- procedure MakeFontSizeList(X, Y: Single; ACanvas: TPDFContents);
- procedure MakeCharSpaceList(X, Y: Single; ACanvas: TPDFContents);
- procedure MakeWordSpaceList(X, Y: Single; ACanvas: TPDFContents);
- procedure MakeAlignmentList(X, Y: Single; ACanvas: TPDFContents);
- procedure MakeWordwrapList(X, Y: Single; ACanvas: TPDFContents);
- public
- { Public ÉΘî╛ }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.MakeFontList(X, Y: Single; ACanvas: TPDFContents);
- begin
- {*
- * MakeFontList
- *
- * èeÄφâtâHâôâgé╠âTâôâvâïé≡ACanvasé╔Åoù═é╖éΘüB
- * âtâHâôâgé═î╗ì▌8Äφù▐é╠é▌Ägùpë┬ö\üBÅçăÆ╟ë┴é╡é─éóé¡ù\ÆΦ
- *
- *}
-
- // î⌐Åoé╡
- ACanvas.Font := fiMincyo;
- ACanvas.FontSize := 12;
- ACanvas.TextOut(X, Y, 'Font');
- ACanvas.LineWidth := 0.75;
- ACanvas.DrawRect(X, Y - 5, X + 220, Y - 290, false);
-
- X := X + 10;
-
- // CenturyâtâHâôâg
- Y := Y - 20;
- ACanvas.Font := fiCentury;
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'Century');
- ACanvas.FontSize := 12;
- Y := Y - 15;
- ACanvas.TextOut(X, Y, 'ABCDFEGabcdefg123456$%&?');
-
- // CenturyâtâHâôâg(Bold)
- Y := Y - 20;
- ACanvas.Font := fiCenturyBold;
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'Century Bold');
- ACanvas.FontSize := 12;
- Y := Y - 15;
- ACanvas.TextOut(X, Y, 'ABCDFEGabcdefg123456$%&?');
-
- // ArialâtâHâôâg
- Y := Y - 20;
- ACanvas.Font := fiArial;
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'Arial');
- ACanvas.FontSize := 12;
- Y := Y - 15;
- ACanvas.TextOut(X, Y, 'ABCDFEGabcdefg123456$%&?');
-
- // ArialâtâHâôâg(Bold)
- Y := Y - 20;
- ACanvas.Font := fiArialBold;
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'Arial Bold');
- ACanvas.FontSize := 12;
- Y := Y - 15;
- ACanvas.TextOut(X, Y, 'ABCDFEGabcdefg123456$%&?');
-
- // CourierâtâHâôâg
- Y := Y - 20;
- ACanvas.Font := fiCourier;
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'Courier');
- ACanvas.FontSize := 12;
- Y := Y - 15;
- ACanvas.TextOut(X, Y, 'ABCDFEGabcdefg123456$%&?');
-
- // CourierâtâHâôâg(Bold)
- Y := Y - 20;
- ACanvas.Font := fiCourierBold;
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'Courier Bold');
- ACanvas.FontSize := 12;
- Y := Y - 15;
- ACanvas.TextOut(X, Y, 'ABCDFEGabcdefg123456$%&?');
-
- // û╛Æ⌐âtâHâôâg
- Y := Y - 20;
- ACanvas.Font := fiMincyo;
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'û╛Æ⌐');
- ACanvas.FontSize := 12;
- Y := Y - 15;
- ACanvas.TextOut(X, Y, 'éáéóéñéªé¿âAâCâEâGâIABCabc123$%&?');
-
- // û╛Æ⌐âtâHâôâg
- Y := Y - 20;
- ACanvas.Font := fiGothic;
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'âSâVâbâN');
- ACanvas.FontSize := 12;
- Y := Y - 15;
- ACanvas.TextOut(X, Y, 'éáéóéñéªé¿âAâCâEâGâIABCabc123$%&?');
- end;
-
- procedure TForm1.MakeFontSizeList(X, Y: Single; ACanvas: TPDFContents);
- begin
- {*
- * MakeFontSizeList
- *
- * âtâHâôâgâTâCâXé≡ò╧ìXé╡é╜é╞é½é╠é╠âTâôâvâïé≡ACanvasé╔Åoù═é╖éΘüB
- * âtâHâôâgâTâCâXé═1/100âhâbâhÆPê╩é┼ÄwÆΦë┬ö\
- *
- *}
-
- // ÿgÉⁿé╞î⌐Åoé╡é╠Åoù═
- ACanvas.Font := fiMincyo;
- ACanvas.FontSize := 12;
- ACanvas.TextOut(X, Y, 'FontSize');
- ACanvas.LineWidth := 0.75;
- ACanvas.DrawRect(X, Y - 5, X + 220, Y - 290, false);
-
- X := X + 10;
-
- Y := Y - 20;
-
- // FonrSize = 6
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'FonrSize = 6');
- ACanvas.FontSize := 6;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'éáéóéñâAâCâEABCabc123$%&?');
- Y := Y - 18;
-
- // FonrSize = 8
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'FonrSize = 8');
- ACanvas.FontSize := 8;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'éáéóéñâAâCâEABCabc123$%&?');
- Y := Y - 18;
-
- // FonrSize = 10
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'FonrSize = 10');
- ACanvas.FontSize := 10;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'éáéóéñâAâCâEABCabc123$%&?');
- Y := Y - 18;
-
- // FonrSize = 14
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'FonrSize = 14');
- ACanvas.FontSize := 14;
- Y := Y - ACanvas.FontSize - 2;
- ACanvas.TextOut(X, Y, 'éáéóéñâAâCâEABCabc123$%&?');
- Y := Y - 18;
-
- // FonrSize = 20
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'FonrSize = 20');
- ACanvas.FontSize := 20;
- Y := Y - ACanvas.FontSize - 1;
- ACanvas.TextOut(X, Y, 'éáéóâAâCABab123$%&?');
- Y := Y - 18;
-
- // FonrSize = 32
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'FonrSize = 32');
- ACanvas.FontSize := 32;
- Y := Y - ACanvas.FontSize;
- ACanvas.TextOut(X, Y, 'éáâAABab123$');
- Y := Y - 18;
-
- // FonrSize = 48
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'FonrSize = 48');
- ACanvas.FontSize := 48;
- Y := Y - ACanvas.FontSize;
- ACanvas.TextOut(X, Y, 'éáâAAa1$');
-
- end;
-
- procedure TForm1.MakeCharSpaceList(X, Y: Single; ACanvas: TPDFContents);
- begin
- {*
- * MakeCharWidthList
- *
- * CharWidth(ò╢ÄÜè╘èu)é≡ò╧ìXé╡é╜é╞é½é╠é╠âTâôâvâïé≡ACanvasé╔Åoù═é╖éΘüB
- * ò╢ÄÜè╘èué═1/100âhâbâhÆPê╩é┼ÄwÆΦë┬ö\
- *
- *}
- ACanvas.Font := fiMincyo;
- ACanvas.FontSize := 12;
- ACanvas.TextOut(X, Y, 'CharSpace');
- ACanvas.LineWidth := 0.75;
- ACanvas.DrawRect(X, Y - 5, X + 220, Y - 140, false);
-
- X := X + 10;
-
- Y := Y - 20;
-
- ACanvas.FontSize := 8;
- ACanvas.CharSpace := 0;
- ACanvas.TextOut(X-5, Y, 'CharSpace = -0.5');
- ACanvas.FontSize := 12;
- ACanvas.CharSpace := -0.5;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'éáéóéñâAâCâEABCabc123$%&?');
- Y := Y - 18;
-
- ACanvas.FontSize := 8;
- ACanvas.CharSpace := 0;
- ACanvas.TextOut(X-5, Y, 'CharSpace = 0 (Default)');
- ACanvas.FontSize := 12;
- ACanvas.CharSpace := 0;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'éáéóéñâAâCâEABCabc123$%&?');
- Y := Y - 18;
-
- ACanvas.FontSize := 8;
- ACanvas.CharSpace := 0;
- ACanvas.TextOut(X-5, Y, 'CharSpace = 1');
- ACanvas.FontSize := 12;
- ACanvas.CharSpace := 1;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'éáéóéñâAâCâEABCabc123$%&?');
- Y := Y - 18;
-
- ACanvas.FontSize := 8;
- ACanvas.CharSpace := 0;
- ACanvas.TextOut(X-5, Y, 'CharSpace = 2');
- ACanvas.FontSize := 12;
- ACanvas.CharSpace := 2;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'éáéóéñâAâCâEABCabc123$%&?');
-
- ACanvas.CharSpace := 0;
- end;
-
- procedure TForm1.MakeWordSpaceList(X, Y: Single; ACanvas: TPDFContents);
- begin
- {*
- * MakeWordSpaceList
- *
- * WordSpace(ÆPîΩè╘èu)é≡ò╧ìXé╡é╜é╞é½é╠é╠âTâôâvâïé≡ACanvasé╔Åoù═é╖éΘüB
- * ÆPîΩè╘èué═1/100âhâbâhÆPê╩é┼ÄwÆΦë┬ö\
- *
- *}
- ACanvas.Font := fiMincyo;
- ACanvas.FontSize := 12;
- ACanvas.TextOut(X, Y, 'WordSpace');
- ACanvas.LineWidth := 0.75;
- ACanvas.DrawRect(X, Y - 5, X + 220, Y - 140, false);
-
- X := X + 10;
-
- Y := Y - 20;
-
- ACanvas.FontSize := 8;
- ACanvas.WordSpace := 0;
- ACanvas.TextOut(X-5, Y, 'WordSpace = -2');
- ACanvas.FontSize := 12;
- ACanvas.WordSpace := -2;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'Hello World é▒é±é╔é┐é═ÉóèE');
- Y := Y - 18;
-
- ACanvas.FontSize := 8;
- ACanvas.WordSpace := 0;
- ACanvas.TextOut(X-5, Y, 'WordSpace = 0 (Default)');
- ACanvas.FontSize := 12;
- ACanvas.WordSpace := 0;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'Hello World é▒é±é╔é┐é═ÉóèE');
- Y := Y - 18;
-
- ACanvas.FontSize := 8;
- ACanvas.WordSpace := 0;
- ACanvas.TextOut(X-5, Y, 'WordSpace = 4');
- ACanvas.FontSize := 12;
- ACanvas.WordSpace := 4;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'Hello World é▒é±é╔é┐é═ÉóèE');
- Y := Y - 18;
-
- ACanvas.FontSize := 8;
- ACanvas.WordSpace := 0;
- ACanvas.TextOut(X-5, Y, 'WordSpace = 10');
- ACanvas.FontSize := 12;
- ACanvas.WordSpace := 10;
- Y := Y - ACanvas.FontSize - 3;
- ACanvas.TextOut(X, Y, 'Hello World é▒é±é╔é┐é═ÉóèE');
-
- ACanvas.WordSpace := 0;
- end;
-
- procedure TForm1.Button1Click(Sender: TObject);
- var
- X, Y: Single;
- begin
- {*
- * ôKôûé╚ê╩Æué╔èeÄφâTâôâvâïé≡Åoù═é╖éΘüB
- *
- *}
- FPDFMaker := TPDFMaker.Create;
- with FPDFMaker do
- begin
- X := 80;
- Y := 750;
- BeginDoc(TFileStream.Create('FontDemo.pdf', fmCreate));
-
- MakeFontList(X, Y, Canvas);
-
- X := 310;
- MakeFontSizeList(X, Y, Canvas);
-
- X := 80;
- Y := 420;
- MakeCharSpaceList(X, Y, Canvas);
-
- X := 310;
- MakeWordSpaceList(X, Y, Canvas);
-
- X := 80;
- Y := 240;
- MakeAlignmentList(X, Y, Canvas);
-
- X := 310;
- Y := 240;
- MakeWordwrapList(X, Y, Canvas);
-
- EndDoc(true);
- Free;
- end;
- ShowMessage('FontDemo.pdfé≡ì∞ɼé╡é▄é╡é╜üB');
- Close;
- end;
-
- procedure TForm1.MakeAlignmentList(X, Y: Single; ACanvas: TPDFContents);
- var
- S: string;
- SW, X2: Single;
- begin
- {*
- * MakeAlignmentList
- *
- * ëEè±é╣üAì╢è±é╣üAâZâôâ^âèâôâOé╠âTâôâvâïé≡ACanvasé╔Åoù═é╖éΘüB
- * ëEè±é╣üAâZâôâ^âèâôâOé═TextWidthè╓Éöé┼ò╢ÄÜù±é╠Æ╖é│é≡îvÄZé╡é┼Æ▓É«é╖éΘüB
- *
- *}
- // î⌐Åoé╡é╞ÿgÉⁿé≡Åoù═
- ACanvas.Font := fiMincyo;
- ACanvas.FontSize := 12;
- ACanvas.TextOut(X, Y, 'Alignment');
- ACanvas.LineWidth := 0.75;
- ACanvas.DrawRect(X, Y - 5, X + 220, Y - 100, false);
-
- X := X + 10;
- X2 := X + 200;
-
- Y := Y - 20;
-
- S := 'Hello World é▒é±é╔é┐é═ÉóèE';
-
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'ì╢è±é╣');
- Y := Y - 12;
- ACanvas.FontSize := 12;
- ACanvas.TextOut(X, Y, S);
- Y := Y - 18;
-
- ACanvas.FontSize := 8;
- ACanvas.WordSpace := 0;
- ACanvas.TextOut(X-5, Y, 'ëEè±é╣');
- Y := Y - 12;
- ACanvas.FontSize := 12;
- {*
- * ò╢ÄÜù±é╠ò¥é≡îvéΘüiò¥é═Font,FontSize,CharSpace,WordSpaceé╔éµé┴é─ò╧éφé┴é─é¡éΘ
- * é╜é▀èeÄφÉ▌ÆΦé¬ÅIéφé┴é─é⌐éτîvéΘüB
- *}
- SW := ACanvas.TextWidth(S);
- // X2é╠ê╩Æué≡èεÅÇé╔é╡é─ëEè±é╣é┼ò╢ÄÜù±é≡Åoù═
- ACanvas.TextOut(X2 - SW, Y, S);
- Y := Y - 18;
-
- ACanvas.FontSize := 8;
- ACanvas.TextOut(X-5, Y, 'âZâôâ^âèâôâO');
- Y := Y - 12;
- ACanvas.FontSize := 12;
- {*
- * æOë±TextWidthé┼îvæ¬é╡é╜é╞é½é╞ô»é╢ò╢ÄÜù±üEÉ▌ÆΦé╠é╜é▀üASWé╠Ælé≡é╗é╠é▄é▄ÄgùpüB
- * Xü`X2é╠è╘é╔âZâôâ^âèâôâOé╡é─Åoù═é╖éΘüB
- *}
- ACanvas.TextOut(X + (X2 - X - SW) / 2, Y, S);
-
- end;
-
- procedure TForm1.MakeWordwrapList(X, Y: Single; ACanvas: TPDFContents);
- var
- S: string;
- S2: string;
- begin
- {*
- * MakeWordwrapList
- *
- * Æ╖éóò╢ÄÜù±é≡âÅü[âhâëâbâvé╡é─ò\Īé╖éΘâTâôâvâïüB
- * LeadingâvâìâpâeâBé┼ìsè╘èué≡ÄwÆΦé╖éΘüB
- *
- *}
- // î⌐Åoé╡é╞ÿgÉⁿé≡Åoù═
- ACanvas.Font := fiMincyo;
- ACanvas.FontSize := 10.5;
- ACanvas.TextOut(X, Y, 'Wordwrap');
- ACanvas.LineWidth := 0.75;
- ACanvas.DrawRect(X, Y - 5, X + 220, Y - 110, false);
-
- X := X + 10;
- Y := Y - 20;
-
- S := 'PDFMakeré┼é═ArrengeTextâvâìâVü[âVââé≡Ägùpé╖éΘé▒é╞é┼' +
- 'è╚ÆPé╔âÅü[âhâëâbâvÅêù¥é¬ìséªé▄é╖üB' +
- 'é▄é╜üALeadingâvâìâpâeâBé╔éµé┴é─è╚ÆPé╔ìsè╘èué≡ò╧ìXé┼é½é▄é╖üB' +
- 'âÅü[âhâëâbâvÅêù¥é═éPâoâCâgò╢ÄÜé╠ÅΩìçé═ÆPîΩÆPê╩üAéQâoâCâgò╢ÄÜé╠ÅΩìçé═' +
- 'ò╢ÄÜÆPê╩é┼ïµÉ╪éτéΩéΘé╠é┼üASunday Monday Tuesday Wednesday Thursday Friday ' +
- 'Saturday é╠éµéñé╚ëpò╢ÄÜéαôKÉ╪é╔ïµÉ╪éτéΩé▄é╖üB';
-
- // ò╢ÄÜù±Sé≡200âhâbâhò¥é╔É«î`é╖éΘüB
- ACanvas.ArrangeText(S, S2, 200);
- // ëⁿìsè╘èué≡âtâHâôâgâTâCâYé╞ô»é╢é╔É▌ÆΦ
- ACanvas.Leading := ACanvas.FontSize;
-
- ACanvas.TextOut(X, Y, S2);
-
- end;
-
- end.
-