SelectionUTF16ToUnit

Űrlapok, interakció, Unicode

Leírás

Az aktív szerkesztési értéken belüli, nullától induló UTF-16 pozíciót alakít át teljes kijelölési egységek darabszámává

fsuUTF16CodeUnit

fsuUnicodeCodePoint esetén az index a korlátozást követően változatlanul kerül visszaadásra fsuGraphemeCluster vagy

Határtáblák gyorsítótárazódnak az aktuális szerkesztési értékhez, és eldobódnak, akár csak megváltozik az érték

Deklaráció

function SelectionUTF16ToUnit(Index: Integer;
  IndexUnit: TPDFlibFormSelectionUnit): Integer;

Paraméterek

IndexNullától induló UTF-16 pozíció, a 0 és az aktuális értékhossz közé korlátozva
IndexUnitAz a kijelölési egység, amelyben az eredmény számolásra kerül

Visszatérési érték

Visszaadja az UTF-16 pozíciót megelőző teljes kódpontok vagy gráfémafürtök számát, fsuUTF16CodeUnit esetén pedig magát a korlátozott indexet

Példa

// A surrogate pair counts as one code point unit
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
CaretUnits := Session.SelectionUTF16ToUnit(3, fsuUnicodeCodePoint);
// CaretUnits = 2

Lásd még

SelectionUnitToUTF16, GetSelectionRange, SetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession