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
| Index | Değerin başından atlanacak tam seçim birimi sayısı; son kullanılabilir sınıra sınırlandırılır |
|---|---|
| IndexUnit | Sayı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