por JoséQuintas » 17 Set 2019 17:53
A rotina de PDF criei há anos, depois nunca mais olhei, e não lembro mais detalhes.
À primeira vista não faz sentido misturar codepage dentro de um PDF, mas por outro lado, um texto de um livro ensinando português/inglês/francês/etc. acabaria usando várias codepages.
Vi sobre codepage no PDF quando criei a classe, depois nunca mais olhei.
Seria confirmar se há essa opção no PDF/HaruPDF, e se houver, é acrescentar na classe pra aceitar isso.
Pra definir a codepage padrão pra todo PDF, isso com certeza tem.
Uma opção padrão é WinAnsi, que usa os caracteres Ansi do Windows, mas.... Windows em inglês não vai ter o mesmo padrão do Windows em português.
Pois é... esse negócio de codepage ainda não está padronizado...
É difícil imaginar UTF-8 como padrão, porque o computador precisa fazer um trabalho violento pra trabalhar com isso.
Lembrando:
Em UTF-8, um caractere pode ser representado por até 6 caracteres.
Colocar em ordem alfabética significa primeiro traduzir esses 6 caracteres pra um único.
Substr(), At(), Len(), Scan(), etc. também significa primeiro traduzir o texto, o Harbour tem funções separadas pra trabalhar com UTF-8.
Falar que UTF-8 é padrão pra página de internet é uma coisa, usar no aplicativo e querer o mesmo resultado é outra totalmente diferente.
Um campo em DBF com 30 caracteres, precisaria ter 180 caracteres pra comportar os mesmos 30 em UTF-8.
Teoricamente... na prática não tem tamanho certo, pode ser qualquer tamanho entre 30 e 180.
E o NTX/IDX/CDX? Teria que ser feito pra 180 caracteres do mesmo jeito, pra comportar no máximo 30.
Ainda não faço idéia desse troço, e nem quero pensar nisso tão cedo.
Enquanto isso... resta o ANSI tradicional ou o UNICODE, que tem tamanho fixo.
Se trabalhamos com português Brasil... acho que basta a codepage ansi português Brasil e pronto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"https://github.com/JoseQuintas/