SelectionUnitToUTF16

Formlar, etkileşim, unicode

Açıklama

Seçim birimi sayısını, etkin düzenleme değeri içindeki eşleşen sınırın sıfır tabanlı UTF-16 indeksine dönüştürür

fsuUTF16CodeUnit ile sayı, değer uzunluğuna kırpıldıktan sonra değişmeden döndürülür

fsuUnicodeCodePoint veya fsuGraphemeCluster ile o birimin sınır tablosu talep üzerine kurulur ve aranır; böylece döndürülen indeks asla bir vekil çifti veya grafem kümesini bölmez ve aşırı sayı son sınıra kırpılır

Sıfır veya daha az bir sayı her zaman sıfır indeksine dönüşür

Bildirim

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

Parametreler

IndexDeğerin başından atlanacak tam seçim birimi sayısı; son kullanılabilir sınıra sınırlandırılır
IndexUnitSayının ifade edildiği seçim birimi

Dönüş değeri

İstenen sınırın UTF-16 dizinini döndürür; sayı kullanılabilir sınırları aştığında değer uzunluğunu, sıfır veya daha az sayılarda ise sıfırı döndürür

Örnek

// 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

Ayrıca bkz.

SelectionUTF16ToUnit, SetSelectionRange, GetVisualCaretOrder, TPDFlibFormSelectionUnit, TPDFlibFormSession