yyn0210 / alivepdf

Automatically exported from code.google.com/p/alivepdf
0 stars 0 forks source link

Some polish character are too wide #192

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Using polish character (using unicode + japanese)

var polishString:String = 
"Uppercase:AĄBCĆDEĘFGHIJKLŁMNŃOÓPRSŚTUWYZŹŻ"; 
myPDF.addText("polish:"+polishString, 5, 135);
polishString = "Lowercase:aąbcćdeęfghijklłmnńoóprsśtuwyzźż"
myPDF.addText("polish:"+polishString, 5, 145);

What is the expected output? What do you see instead?

Some polish character are too wide ? the 2nd A is too wide once in the pdf.
How can I adjust the character width ?

What version of the product are you using? On what operating system?
0.1.5.0 beta. The latest RC does not produce a valid pdf with unicode.

Original issue reported on code.google.com by martin.m...@gmail.com on 11 Feb 2010 at 5:05

GoogleCodeExporter commented 9 years ago
Trochę się z tym męczyłem, ale udało mi się wyświetlić polskie znaki w 
AlivePDF.
Poniżej podaje instrukcje gdyby ktoś chciał polskie znaki w AlivePDF:

1. Ściągacie czcionkę z polskimi znakami w formacie *.ttf
2. Konwertujecie ją do *.afm, można to zrobić na tej stronie: 
http://everythingfonts.com/ttf-to-afm#.UhscK7z-jsw
3. Dołączacie czcionki do waszej klasy np.:

[Embed( source="../assets/alamakot.ttf", mimeType="application/octet-stream" )]
private var fontStream:Class;
[Embed( source="../assets/alamakot.afm", mimeType="application/octet-stream" )]
private var afmStream:Class;

4. Następnie embedujecie wybraną czcionkę w naszym kodowaniu:
var ef:EmbeddedFont = new EmbeddedFont( new fontStream(), new afmStream(), 
CodePage.CP1250 );

5. Dodajemy tekst do PDF:
var p:PDF = new PDF( Orientation.PORTRAIT, Unit.MM, Size.A4 );
p.addPage();
p.setFont( ef, 20 );
p.writeText(12, "żółć");

Oczywiście PDFa zapisujemy do pliku.

6. Na koniec wgrywamy pliki źródłowe AlivePDF, ale nie jako SWC. Edytujemy 
plik org/alivepdf/pdf/PDF.as i szukamy linii (4776)
buffer.writeMultiByte( content+"\n", "windows-1252" ); // jakiś idiota 
programista wstawił to na sztywno :/
po czym zmieniamy ja na:
buffer.writeMultiByte( content+"\n", "windows-1250" );

Całość zapisujemy i cieszymy się polskimi fontami w naszym PDF. 

Original comment by SPECG...@gmail.com on 26 Aug 2013 at 10:52