Métodos GPOS de kerning e posicionamento do THotPDF

THotPDF Referência de API

 

Métodos THotPDF  Modelagem automática  GSUB

Documenta consultas HotPDF para kerning GPOS por pares, kerning contextual, kerning vertical, âncoras cursivas, posicionamento de marcas e mark-to-ligature, além dos flags ShapingFeatures que as aplicam durante a saída de texto

 

Sintaxe Delphi

function HasGPOSKerning: Boolean;

function GetGPOSPairAdjustment(FirstGID, SecondGID: Word): Integer;

function GetGPOSPairAdjustment(FirstGID, SecondGID: Word; out AXPlacement, AYPlacement, AYAdvance: Integer): Integer;

function GetGPOSContextualKernRun(const GIDs: array of Word): TArray<Integer>;

function HasGPOSVerticalKern: Boolean;

function GetGPOSVerticalKern(FirstGID, SecondGID: Word): Integer;

function GetGPOSMarkOffset(BaseGID, MarkGID: Word; out DX, DY: Integer): Boolean;

function GetGPOSMarkMarkOffset(BaseMarkGID, AttachMarkGID: Word; out DX, DY: Integer): Boolean;

function HasGPOSCursive: Boolean;

function GetGPOSCursiveAnchors(GID: Word; out EntryX, EntryY, ExitX, ExitY: Integer; out HasEntry, HasExit: Boolean): Boolean;

function GetGPOSMarkToLigatureOffset(LigGID: Word; ComponentIndex: Integer; MarkGID: Word; out DX, DY: Integer): Boolean;

function GetGPOSLigatureComponentCount(LigGID: Word): Integer;

function ApplyMarkToLigatureShaping(const Wide: UnicodeString): UnicodeString;

 

APIs cobertas

APINotas de uso
HasGPOSKerningInforma se a fonte Unicode registrada expõe lookups de kerning GPOS
GetGPOSPairAdjustmentRetorna o ajuste de avanço com sinal para um par ordenado de glifos e também pode retornar deslocamentos X/Y com posicionamento pela sobrecarga
GetGPOSContextualKernRunRetorna ajustes de kerning contextual por glifo ao resolver regras de posicionamento GPOS Type 7 e Type 8 sobre uma sequência de glifos
HasGPOSVerticalKernInforma se a fonte Unicode registrada expõe lookups de kerning vertical ou ajuste proporcional vertical
GetGPOSVerticalKernRetorna o ajuste vertical YAdvance com sinal a partir de lookups vkrn ou vpal para um par ordenado de glifos
GetGPOSMarkOffsetRetorna deslocamentos Mark-to-Base para anexar um glifo de marca a um glifo base
GetGPOSMarkMarkOffsetRetorna deslocamentos Mark-to-Mark para empilhar um glifo de marca sobre outro
HasGPOSCursiveInforma se a fonte Unicode registrada expõe lookups GPOS de ligação cursiva
GetGPOSCursiveAnchorsRetorna âncoras cursivas de entrada e saída para um glifo quando a fonte fornece uma regra de ligação cursiva
GetGPOSMarkToLigatureOffsetRetorna deslocamentos Mark-to-Ligature para anexar uma marca a um componente específico de ligadura
GetGPOSLigatureComponentCountRetorna o número de componentes de anexo de marca registrados para um glifo de ligadura, para que o chamador escolha um ComponentIndex válido antes de chamar GetGPOSMarkToLigatureOffset
ApplyMarkToLigatureShapingRegistra a propriedade dos componentes de ligadura para que deslocamentos mark-to-ligature possam ser aplicados durante a emissão de texto
sfKerningAtiva ajustes GPOS de kerning por pares durante a emissão de texto Unicode da esquerda para a direita
sfMarkPositioningAtiva deslocamentos GPOS Mark-to-Base e Mark-to-Mark para marcas combinantes
sfMarkToLigatureAtiva deslocamentos GPOS Mark-to-Ligature para marcas anexadas a componentes individuais de ligadura
sfCursiveAttachmentAtiva o alinhamento de âncoras cursivas GPOS de entrada/saída durante a emissão de texto Unicode, incluindo sequências árabes da direita para a esquerda moldadas por sfArabicGSUB
sfVerticalKerningAtiva o ajuste vertical de avanço GPOS vkrn e vpal no caminho de saída de texto vertical

 

Notas de uso

O kerning por pares retorna ajustes de avanço e posicionamento com sinal em um em de 1000 unidades. O kerning contextual resolve lookups Type 7 e Type 8 em uma sequência de glifos. O posicionamento de marcas cobre âncoras Mark-to-Base, Mark-to-Mark e Mark-to-Ligature. ApplyMarkToLigatureShaping prepara os dados de componentes de ligadura por sequência usados por sfMarkToLigature. A ligação cursiva alinha uma âncora de saída de um glifo à âncora de entrada do próximo glifo, o que é mais útil depois que a modelagem Arabic GSUB nativa produziu os IDs de glifo contextuais específicos da fonte que carregam essas âncoras. O caminho de emissão aplica esses ajustes apenas quando o flag de modelagem correspondente está ativado

 

Veja também: ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline