SelectionUnitToUTF16
Skjemaer, interaksjon, unicode
Beskrivelse
Konverterer et antall utvalgsenheter til den nullbaserte UTF-16-indeksen til den samsvarende grensen innenfor den aktive redigeringsverdien
Med fsuUTF16CodeUnit returneres antallet uendret etter begrensning til verdilengden
Med fsuUnicodeCodePoint eller fsuGraphemeCluster bygges grensetabellen for den enheten ved behov og slås opp, så den returnerte indeksen deler aldri et surrogatpar eller en grafemklynge, og et overdrevent antall begrenses til den endelige grensen
Et antall på null eller mindre konverteres alltid til indeks null
Deklarasjon
function SelectionUnitToUTF16(Index: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parametere
| Index | Antall komplette utvalgsenheter som skal hoppes over fra starten av verdien, avgrenset til den siste tilgjengelige grensen |
|---|---|
| IndexUnit | Utvalgsenheten antallet er uttrykt i |
Returverdi
Returnerer UTF-16-indeksen til den forespurte grensen, verdilengden når antallet overstiger de tilgjengelige grensene, eller null for antall på null eller mindre
Eksempel
// Unit 2 starts after the surrogate pair, at UTF-16 index 3
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
CaretUTF16 := Session.SelectionUnitToUTF16(2, fsuUnicodeCodePoint);
// CaretUTF16 = 3
Se også
SelectionUTF16ToUnit, SetSelectionRange, GetVisualCaretOrder, TPDFlibFormSelectionUnit, TPDFlibFormSession