SelectionUTF16ToUnit

النماذج، التفاعل، Unicode

الوصف

تحوّل موضعًا بترميز UTF-16 ذات الأساس صفر داخل قيمة التحرير النشطة إلى عدد وحدات تحديد مكتملة مع

fsuUTF16CodeUnit

fsuUnicodeCodePoint يُرجع الفهرس دون تغيير بعد التقييد مع fsuGraphemeCluster أو

تخزن جداول الحدود مؤقتًا لقيمة التحرير الحالية وتتخلى عنها كلما تغيرت تلك القيمة

التصريح

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

المعاملات

Indexموضع UTF-16 ذات الأساس صفر، مقيَّد إلى المدى من 0 إلى طول القيمة الحالي
IndexUnitوحدة التحديد التي يُعَدّ فيها الناتج

القيمة المُرجعة

تُرجع عدد نقاط الترميز أو عناقيد grapheme المكتملة التي تسبق موضع UTF-16، أو الفهرس المقيَّد نفسه من أجل fsuUTF16CodeUnit

مثال

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

انظر أيضًا

SelectionUnitToUTF16, GetSelectionRange, SetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession