imagepsencodefont()
(PHP 4, PHP 5)
改变字体中的字符编码矢量
说明
imagepsencodefont(resource $font_index,string $encodingfile): bool
从文件中加载字符编码矢量并用其替换给定字体的编码矢量。由于 PostScript 字体的默认矢量缺少大多数超过 127 的字符位置,因此如果使用其它非英语的语言的话肯定需要改变它。编码文件的确切格式定义在 T1lib 文档中。T1lib 包含有两个可马上使用的文件,IsoLatin1.enc 和 IsoLatin2.enc。
如果发现自己总是要用本函数,更好的定义编码的做法是在配置文件中将 ps.default_encoding 设定为指向正确的编码文件,这样加载的所有字体就会自动具有正确编码了。
Note:此函数仅在 PHP编译时指定了--with-t1lib[=DIR]时可用。
参数
- $font_index
A font resource, returned by imagepsloadfont().
- $encodingfile
The exact format of this file is described in T1libs documentation. T1lib comes with two ready-to-use files,IsoLatin1.encandIsoLatin2.enc.
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。
范例
imagepsencodefont() example
<?php // Load a .pfb font file $font = imagepsloadfont('./px3l.pfb'); // Tell T1lib to use ISO Latin 1 encoding imagepsencode($font, './IsoLatin1.enc'); // Do any operations with the font here // Free the font from memory imagepsfreefont($font); ?>
注释
Note:此函数仅在 PHP编译时指定了--with-t1lib[=DIR]时可用。
The t1lib-5.0.0 source includes 5 different encoding files under Fonts/enc/. For my text with German umlauts, using IsoLatin1.enc did not work, but PSLatin1.enc did the trick.
Because I have had problems with this function to find out that there is no result to store in a variable, a short example how to use: $font = imagepsloadfont( "/home/www/font/Arial.pfb" ); imagepsencodefont( $font, "/home/www/font/IsoLatin1.enc" ); afterwards you can use the resource $font in each other ps function like imagepstext() or imagepsbbox().