Sobre as descrições de fonte unicode

Uma fonte unicode simples, devido ao seu grande conjunto de caracteres, pode suportar todos os idiomas e todas as plataformas. Os arquivos de definição de forma unicode são praticamente idênticos no formato e na sintaxe aos arquivos de definição de forma normais.

A principal diferença está na sintaxe do cabeçalho de fonte conforme mostrado no seguinte código:

*UNIFONT,6,font-name
above,below,modes,encoding,type,0 

Os parâmetros font-name , above , below e modes são os mesmos das fontes normais. Os dois parâmetros restantes são definidos como se segue:

encoding

Código de fonte. Utiliza um dos valores inteiros a seguir.

0 Unicode

1 Multibyte compactado 1

2 Arquivo de forma

tipo

Informações para incorporar fonte. Especifica se a fonte é licenciada. Fontes licenciadas não devem ser modificadas ou trocadas. Valores com códigos de bit podem ser adicionados.

0 Fonte pode ser incorporada

1 Fonte não pode ser incorporada

2 Incorporação é somente leitura

Uma outra diferença importante, e às vezes confusa, é o uso da referência de sub-forma de código 7. Se uma descrição de forma inclui uma referência de sub-forma de código 7, os dados seguintes a esse código são interpretados como um valor de 2 bytes. Isso afeta o número total de bytes de dados ( defbytes ) no cabeçalho de descrição da forma. Por exemplo, a seguinte descrição de forma é encontrada no arquivo romans.shp:

*00080,4,keuroRef
7,020AC,0

O segundo campo em um cabeçalho representa o número total de bytes na descrição de forma. Se você não está acostumado a trabalhar com descrições de fonte Unicode, é provável que utilize três bytes em vez de quatro, mas isso causará um erro durante a compilação do arquivo SHP. Isso é verdadeiro mesmo se o número de forma referido não estiver na variação de dois bytes (abaixo de 255); o compilador sempre utiliza dois bytes para esse valor, então você deve considerar isso no cabeçalho.

Uma outra diferença entre as definições de forma Unifont e as definições de forma normal é o número de forma. As definições de forma Unifont que o programa fornece utilizam números de forma hexadecimais em oposição aos valores decimais. Embora os números hexadecimais não sejam exibidos, seu uso o torna fácil para cruzar referências de números de forma com os valores de caractere de controle \U+.