Propriedade THotPDF.CMapResourcePath
Define o diretório raiz usado para localizar as coleções de CMap padrão durante a extração de texto de documentos carregados. Deixe vazio para usar a busca automática de recursos
Declaração
property CMapResourcePath: TFileName read FCMapResourcePath write SetCMapResourcePath;
Unit
HPDFDoc
Parâmetros
| Nome | Finalidade |
|---|---|
| Este membro não expõe parâmetros explícitos | |
Valor de retorno
Retorna a raiz da coleção de CMaps configurada
Notas de uso
- Os mapeamentos horizontais e verticais UCS2 e UTF16 completos de UniJIS, UniGB, UniCNS e UniKS vêm incorporados, incluindo escalares Unicode suplementares, de modo que esses CMaps Unicode padrão não exigem um diretório de recursos externo
- O diretório configurado deve conter pastas de coleção como
Adobe-GB1-6\CMap - Defina a propriedade antes da extração de texto de documentos carregados quando os recursos ficarem fora dos locais de busca relativos ao executável
- Cada atribuição limpa o cache de decodificadores de fontes carregadas, inclusive a reatribuição do mesmo caminho
- Chame
HPDFClearCMapCachesantes de reatribuir esta propriedade quando os arquivos de CMap externos tiverem mudado e o cache de recursos analisados do processo inteiro também precisar ser atualizado - Mapas padrão e tabelas CID analisados são cacheados pela raiz resolvida e pelo nome do mapa, de modo que duas raízes de recursos podem fornecer com segurança mapas diferentes com o mesmo nome
- O cache de recursos de CMap padrão do processo inteiro é seguro para acesso concorrente, enquanto os mapeamentos ordenados de caracteres e intervalos usam busca logarítmica
- Codespaces de um a quatro bytes são retidos exatamente, incluindo codespaces válidos de três bytes
- Todos os 182 maps de encoding adicionais empacotados vêm incorporados, incluindo variantes legacy GBK, EUC, Big5 e Shift-JIS, overrides verticais herdados e codespaces UTF8 e UTF32
- Operands de texto Type0 usam codespaces exatos de encoding de um a quatro bytes, preservando larguras mistas e bytes zero à esquerda em UTF32
- Um diretório de recursos explícito ainda pode sobrepor um map padrão; um loader path vazio seleciona as tabelas embutidas sem ler arquivos de coleção do ambiente
- Dados hexadecimais malformados, sequências de surrogate inválidas, intervalos invertidos, intervalos explícitos excessivamente grandes e alvos com overflow são tratados sem alocação sem limites nem mapeamentos com wrap