# # This has been ported by Hiroshi Saito(hiroshi@winpg.jp) # Copyright notice of the original as below. # # # * # * << Haru Free PDF Library 2.0.0 >> -- fontdemo.c # * # * Copyright(c) 1999-2006 Takeshi Kanno # * # * Permission to use, copy, modify, distribute and sell this software # * and its documentation for any purpose is hereby granted without fee, # * provided that the above copyright notice appear in all copies and # * that both that copyright notice and this permission notice appear # * in supporting documentation. # * It is provided "as is" without express or implied warranty. # * # @load "pdf" # ---- # main # ---- BEGIN { font_list_S = \ "Courier-Bold," \ "Courier-Oblique," \ "Courier-BoldOblique," \ "Helvetica," \ "Helvetica-Bold," \ "Helvetica-Oblique," \ "Helvetica-BoldOblique," \ "Times-Roman," \ "Times-Bold," \ "Times-Italic," \ "Times-BoldItalic," \ "Symbol," \ "ZapfDingbats"; split(font_list_S, font_list, ","); page_title = "Font Info"; samp_text = "abcdefgABCDEFG12345!#$%&+-@?"; fname = "pdf_fontinfo.pdf"; pdf = HPDF_New(NULL, NULL); #HPDF_UseJPFonts(pdf); # Add a new page object. page = HPDF_AddPage(pdf); height = HPDF_Page_GetHeight(page); width = HPDF_Page_GetWidth(page); # Print the lines of the page. HPDF_Page_SetLineWidth(page, 1); HPDF_Page_Rectangle(page, 50, 50, width - 100, height - 110); HPDF_Page_Stroke(page); # Print the title of the page(with positioning center). def_font = HPDF_GetFont(pdf, "Helvetica", NULL); HPDF_Page_SetFontAndSize(page, def_font, 24); tw = HPDF_Page_TextWidth(page, page_title); HPDF_Page_BeginText(page); HPDF_Page_MoveTextPos(page,(width - tw) / 2, height - 50); HPDF_Page_ShowText(page, page_title); HPDF_Page_EndText(page); # output subtitle. HPDF_Page_BeginText(page); HPDF_Page_MoveTextPos(page, 60, height - 80); HPDF_Page_SetFontAndSize(page, def_font, 16); HPDF_Page_ShowText(page, ""); HPDF_Page_EndText(page); HPDF_Page_BeginText(page); HPDF_Page_MoveTextPos(page, 60, height - 105); for(i = 1; font_list[i] != ""; i++) { # print a label of text HPDF_Page_SetFontAndSize(page, def_font, 9); HPDF_Page_ShowText(page, font_list[i]); HPDF_Page_MoveTextPos(page, 0, -18); # print a sample text. font = HPDF_GetFont(pdf, font_list[i], NULL); HPDF_Page_SetFontAndSize(page, font, 20); HPDF_Page_ShowText(page, samp_text); HPDF_Page_MoveTextPos(page, 0, -20); } HPDF_Page_EndText(page); HPDF_SaveToFile(pdf, fname); # clean up HPDF_Free(pdf); }