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.
imagepsencodefont
(PHP 4, PHP 5)
imagepsencodefont — Bir yazı tipinin karakter kodlamasını değiştirir
Açıklama
$yazıtipi
, string $kodlama_dosyası
)Bir dosyadan bir karakter kodlaması yöneyi yükler ve yazı tipinin kodlama yöneyini bununla değiştirir. Bir PostScript yazı tipinin öntanımlı yöneyi 127'den büyük karakterleri kapsamadığından İngilizce dışında bir dil kullanacaksanız kodlamayı mutlaka değiştirmelisiniz.
Bu işleve her seferinde yeniden kullanmamak için en iyi yöntem yapılandırma dosyasında ps.default_encoding yönergesine doğru kodlama dosyasını belirtmektir. Böylece yüklediğiniz bütün yazı tipleri özdevinimli olarak doğru kodlamayı kullanırlar.
Değiştirgeler
-
yazıtipi -
imagepsloadfont() tarafından döndürülen bir yazı tipi özkaynağı.
-
kodlama_dosyası -
Bu dosyanın biçemi T1libs belgelerinde açıklanmaktadır. T1lib iki kullanıma hazır dosya ile gelir: IsoLatin1.enc ve IsoLatin2.enc.
Dönen Değerler
Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.
Örnekler
Örnek 1 - imagepsencodefont() örneği
<?php
//Bir .pfb yazı tipi dosyası yükleyelim
$font = imagepsloadfont('./px3l.pfb');
// T1lib'e ISO Latin 1 kodlamasını kullan diyelim
imagepsencode($font, './IsoLatin1.enc');
// Burada yazı tipini kullanıyoruz
// İşimiz bitince yazı tipine ayrılan belleği serbest bırakıyoruz
imagepsfreefont($font);
?>
Notlar
Bilginize: Bu işlev sadece, PHP, --with-t1lib[=DİZİN] seçeneği ile derlenmişse kullanılabilir.
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().
