{
  "version": "v1",
  "kind": "rtl",
  "description": "Right-to-left scripts, mixed bidirectional text and bidi controls",
  "count": 23,
  "seed": null,
  "items": [
    {
      "id": "rtl-01",
      "text": "مرحبًا بك في موقعنا الجديد.",
      "note": "Arabic sentence",
      "lang": "ar",
      "length": {
        "codepoints": 27,
        "utf16_units": 27,
        "utf8_bytes": 49
      },
      "codepoints": "U+0645 U+0631 U+062D U+0628 U+064B U+0627 U+0020 U+0628 U+0643 U+0020 U+0641 U+064A U+0020 U+0645 U+0648 U+0642 U+0639 U+0646 U+0627 U+0020 U+0627 U+0644 U+062C U+062F U+064A U+062F U+002E"
    },
    {
      "id": "rtl-02",
      "text": "نعمل كل يوم لنقدم لك أفضل المنتجات وأسرع خدمة توصيل.",
      "note": "Arabic sentence",
      "lang": "ar",
      "length": {
        "codepoints": 52,
        "utf16_units": 52,
        "utf8_bytes": 94
      },
      "codepoints": null
    },
    {
      "id": "rtl-03",
      "text": "ברוכים הבאים לאתר החדש שלנו.",
      "note": "Hebrew sentence",
      "lang": "he",
      "length": {
        "codepoints": 28,
        "utf16_units": 28,
        "utf8_bytes": 51
      },
      "codepoints": "U+05D1 U+05E8 U+05D5 U+05DB U+05D9 U+05DD U+0020 U+05D4 U+05D1 U+05D0 U+05D9 U+05DD U+0020 U+05DC U+05D0 U+05EA U+05E8 U+0020 U+05D4 U+05D7 U+05D3 U+05E9 U+0020 U+05E9 U+05DC U+05E0 U+05D5 U+002E"
    },
    {
      "id": "rtl-04",
      "text": "به وب‌سایت جدید ما خوش آمدید.",
      "note": "Persian sentence with ZWNJ (U+200C) inside a word",
      "lang": "fa",
      "length": {
        "codepoints": 29,
        "utf16_units": 29,
        "utf8_bytes": 53
      },
      "codepoints": "U+0628 U+0647 U+0020 U+0648 U+0628 U+200C U+0633 U+0627 U+06CC U+062A U+0020 U+062C U+062F U+06CC U+062F U+0020 U+0645 U+0627 U+0020 U+062E U+0648 U+0634 U+0020 U+0622 U+0645 U+062F U+06CC U+062F U+002E"
    },
    {
      "id": "rtl-05",
      "text": "ہماری نئی ویب سائٹ میں خوش آمدید۔",
      "note": "Urdu sentence (Arabic script, Urdu full stop U+06D4)",
      "lang": "ur",
      "length": {
        "codepoints": 33,
        "utf16_units": 33,
        "utf8_bytes": 60
      },
      "codepoints": "U+06C1 U+0645 U+0627 U+0631 U+06CC U+0020 U+0646 U+0626 U+06CC U+0020 U+0648 U+06CC U+0628 U+0020 U+0633 U+0627 U+0626 U+0679 U+0020 U+0645 U+06CC U+06BA U+0020 U+062E U+0648 U+0634 U+0020 U+0622 U+0645 U+062F U+06CC U+062F U+06D4"
    },
    {
      "id": "rtl-06",
      "text": "رقم الطلب 12345 جاهز للشحن.",
      "note": "Arabic with Western digits",
      "lang": "ar",
      "length": {
        "codepoints": 27,
        "utf16_units": 27,
        "utf8_bytes": 44
      },
      "codepoints": "U+0631 U+0642 U+0645 U+0020 U+0627 U+0644 U+0637 U+0644 U+0628 U+0020 U+0031 U+0032 U+0033 U+0034 U+0035 U+0020 U+062C U+0627 U+0647 U+0632 U+0020 U+0644 U+0644 U+0634 U+062D U+0646 U+002E"
    },
    {
      "id": "rtl-07",
      "text": "הזמנה מס׳ 4711 נשלחה אל example.com",
      "note": "Hebrew with digits and a Latin domain",
      "lang": "he",
      "length": {
        "codepoints": 35,
        "utf16_units": 35,
        "utf8_bytes": 50
      },
      "codepoints": "U+05D4 U+05D6 U+05DE U+05E0 U+05D4 U+0020 U+05DE U+05E1 U+05F3 U+0020 U+0034 U+0037 U+0031 U+0031 U+0020 U+05E0 U+05E9 U+05DC U+05D7 U+05D4 U+0020 U+05D0 U+05DC U+0020 U+0065 U+0078 U+0061 U+006D U+0070 U+006C U+0065 U+002E U+0063 U+006F U+006D"
    },
    {
      "id": "rtl-08",
      "text": "Version 2.0 של המוצר זמינה עכשיו",
      "note": "Hebrew sentence that starts with Latin text (first-strong detection)",
      "lang": "he",
      "length": {
        "codepoints": 32,
        "utf16_units": 32,
        "utf8_bytes": 49
      },
      "codepoints": "U+0056 U+0065 U+0072 U+0073 U+0069 U+006F U+006E U+0020 U+0032 U+002E U+0030 U+0020 U+05E9 U+05DC U+0020 U+05D4 U+05DE U+05D5 U+05E6 U+05E8 U+0020 U+05D6 U+05DE U+05D9 U+05E0 U+05D4 U+0020 U+05E2 U+05DB U+05E9 U+05D9 U+05D5"
    },
    {
      "id": "rtl-09",
      "text": "استخدم الرمز ABC-123 لتسجيل الدخول.",
      "note": "Arabic with an embedded Latin code",
      "lang": "ar",
      "length": {
        "codepoints": 35,
        "utf16_units": 35,
        "utf8_bytes": 58
      },
      "codepoints": "U+0627 U+0633 U+062A U+062E U+062F U+0645 U+0020 U+0627 U+0644 U+0631 U+0645 U+0632 U+0020 U+0041 U+0042 U+0043 U+002D U+0031 U+0032 U+0033 U+0020 U+0644 U+062A U+0633 U+062C U+064A U+0644 U+0020 U+0627 U+0644 U+062F U+062E U+0648 U+0644 U+002E"
    },
    {
      "id": "rtl-10",
      "text": "البريد الإلكتروني: support@example.com",
      "note": "Arabic label followed by an e-mail address",
      "lang": "ar",
      "length": {
        "codepoints": 38,
        "utf16_units": 38,
        "utf8_bytes": 54
      },
      "codepoints": "U+0627 U+0644 U+0628 U+0631 U+064A U+062F U+0020 U+0627 U+0644 U+0625 U+0644 U+0643 U+062A U+0631 U+0648 U+0646 U+064A U+003A U+0020 U+0073 U+0075 U+0070 U+0070 U+006F U+0072 U+0074 U+0040 U+0065 U+0078 U+0061 U+006D U+0070 U+006C U+0065 U+002E U+0063 U+006F U+006D"
    },
    {
      "id": "rtl-11",
      "text": "התקשרו אלינו: +1 555 0100",
      "note": "Hebrew with a phone number",
      "lang": "he",
      "length": {
        "codepoints": 25,
        "utf16_units": 25,
        "utf8_bytes": 36
      },
      "codepoints": "U+05D4 U+05EA U+05E7 U+05E9 U+05E8 U+05D5 U+0020 U+05D0 U+05DC U+05D9 U+05E0 U+05D5 U+003A U+0020 U+002B U+0031 U+0020 U+0035 U+0035 U+0035 U+0020 U+0030 U+0031 U+0030 U+0030"
    },
    {
      "id": "rtl-12",
      "text": "السعر: 1,234.50 ر.س",
      "note": "Arabic price with Western digits and a currency abbreviation",
      "lang": "ar",
      "length": {
        "codepoints": 19,
        "utf16_units": 19,
        "utf8_bytes": 26
      },
      "codepoints": "U+0627 U+0644 U+0633 U+0639 U+0631 U+003A U+0020 U+0031 U+002C U+0032 U+0033 U+0034 U+002E U+0035 U+0030 U+0020 U+0631 U+002E U+0633"
    },
    {
      "id": "rtl-13",
      "text": "שלום, עולם!",
      "note": "Hebrew with trailing punctuation (should render at the left end)",
      "lang": "he",
      "length": {
        "codepoints": 11,
        "utf16_units": 11,
        "utf8_bytes": 19
      },
      "codepoints": "U+05E9 U+05DC U+05D5 U+05DD U+002C U+0020 U+05E2 U+05D5 U+05DC U+05DD U+0021"
    },
    {
      "id": "rtl-14",
      "text": "(مرحبا) [عالم] {نص} <وسم>",
      "note": "Arabic in brackets: brackets must mirror",
      "lang": "ar",
      "length": {
        "codepoints": 25,
        "utf16_units": 25,
        "utf8_bytes": 39
      },
      "codepoints": "U+0028 U+0645 U+0631 U+062D U+0628 U+0627 U+0029 U+0020 U+005B U+0639 U+0627 U+0644 U+0645 U+005D U+0020 U+007B U+0646 U+0635 U+007D U+0020 U+003C U+0648 U+0633 U+0645 U+003E"
    },
    {
      "id": "rtl-15",
      "text": "٠١٢٣٤٥٦٧٨٩",
      "note": "Arabic-Indic digits U+0660-U+0669",
      "lang": "ar",
      "length": {
        "codepoints": 10,
        "utf16_units": 10,
        "utf8_bytes": 20
      },
      "codepoints": "U+0660 U+0661 U+0662 U+0663 U+0664 U+0665 U+0666 U+0667 U+0668 U+0669"
    },
    {
      "id": "rtl-16",
      "text": "۰۱۲۳۴۵۶۷۸۹",
      "note": "Extended Arabic-Indic (Persian) digits U+06F0-U+06F9",
      "lang": "fa",
      "length": {
        "codepoints": 10,
        "utf16_units": 10,
        "utf8_bytes": 20
      },
      "codepoints": "U+06F0 U+06F1 U+06F2 U+06F3 U+06F4 U+06F5 U+06F6 U+06F7 U+06F8 U+06F9"
    },
    {
      "id": "rtl-17",
      "text": "مـــرحـــبـــا",
      "note": "Arabic with tatweel / kashida (U+0640) justification",
      "lang": "ar",
      "length": {
        "codepoints": 14,
        "utf16_units": 14,
        "utf8_bytes": 28
      },
      "codepoints": "U+0645 U+0640 U+0640 U+0640 U+0631 U+062D U+0640 U+0640 U+0640 U+0628 U+0640 U+0640 U+0640 U+0627"
    },
    {
      "id": "rtl-18",
      "text": "C++‎ היא שפת תכנות",
      "note": "Hebrew with LRM (U+200E) after 'C++' so the plus signs stay put",
      "lang": "he",
      "length": {
        "codepoints": 18,
        "utf16_units": 18,
        "utf8_bytes": 31
      },
      "codepoints": "U+0043 U+002B U+002B U+200E U+0020 U+05D4 U+05D9 U+05D0 U+0020 U+05E9 U+05E4 U+05EA U+0020 U+05EA U+05DB U+05E0 U+05D5 U+05EA"
    },
    {
      "id": "rtl-19",
      "text": "C++ היא שפת תכנות",
      "note": "Same without LRM: '++' usually jumps to the wrong side",
      "lang": "he",
      "length": {
        "codepoints": 17,
        "utf16_units": 17,
        "utf8_bytes": 28
      },
      "codepoints": "U+0043 U+002B U+002B U+0020 U+05D4 U+05D9 U+05D0 U+0020 U+05E9 U+05E4 U+05EA U+0020 U+05EA U+05DB U+05E0 U+05D5 U+05EA"
    },
    {
      "id": "rtl-20",
      "text": "Name: ⁧עברית⁩ (verified)",
      "note": "RLI...PDI isolate (U+2067/U+2069) inside English text",
      "lang": "en",
      "length": {
        "codepoints": 24,
        "utf16_units": 24,
        "utf8_bytes": 33
      },
      "codepoints": "U+004E U+0061 U+006D U+0065 U+003A U+0020 U+2067 U+05E2 U+05D1 U+05E8 U+05D9 U+05EA U+2069 U+0020 U+0028 U+0076 U+0065 U+0072 U+0069 U+0066 U+0069 U+0065 U+0064 U+0029"
    },
    {
      "id": "rtl-21",
      "text": "‫embedding that is never closed",
      "note": "RLE (U+202B) without PDF: direction leaks into what follows",
      "lang": null,
      "length": {
        "codepoints": 31,
        "utf16_units": 31,
        "utf8_bytes": 33
      },
      "codepoints": "U+202B U+0065 U+006D U+0062 U+0065 U+0064 U+0064 U+0069 U+006E U+0067 U+0020 U+0074 U+0068 U+0061 U+0074 U+0020 U+0069 U+0073 U+0020 U+006E U+0065 U+0076 U+0065 U+0072 U+0020 U+0063 U+006C U+006F U+0073 U+0065 U+0064"
    },
    {
      "id": "rtl-22",
      "text": "invoice‮txt.exe",
      "note": "RLO (U+202E) spoof: displays as 'invoiceexe.txt' (file-name spoofing)",
      "lang": null,
      "length": {
        "codepoints": 15,
        "utf16_units": 15,
        "utf8_bytes": 17
      },
      "codepoints": "U+0069 U+006E U+0076 U+006F U+0069 U+0063 U+0065 U+202E U+0074 U+0078 U+0074 U+002E U+0065 U+0078 U+0065"
    },
    {
      "id": "rtl-23",
      "text": "עברית English العربية 123 עוד",
      "note": "Mixed Hebrew, English, Arabic and digits in one line",
      "lang": "he",
      "length": {
        "codepoints": 29,
        "utf16_units": 29,
        "utf8_bytes": 44
      },
      "codepoints": "U+05E2 U+05D1 U+05E8 U+05D9 U+05EA U+0020 U+0045 U+006E U+0067 U+006C U+0069 U+0073 U+0068 U+0020 U+0627 U+0644 U+0639 U+0631 U+0628 U+064A U+0629 U+0020 U+0031 U+0032 U+0033 U+0020 U+05E2 U+05D5 U+05D3"
    }
  ]
}