Arabic

Arabic shaping data (ArabicShaping.txt and UnicodeData.txt).

Namespace: Com\Tecnick\Unicode\Data

class Arabic

Source: src/Arabic.php:39

Arabic shaping data (ArabicShaping.txt and UnicodeData.txt).

Generated by tools/generate.php from the Unicode Character Database 17.0.0. Do not edit manually.

Constants

DIACRITIC

Ligatures combining SHADDA (U+0651) with a second diacritic, so that the two marks do not overlap: second mark char code => ligature char code.

public const DIACRITIC = [
    0x64c => 0xfc5e,
    // SHADDA + ARABIC DAMMATAN
    0x64d => 0xfc5f,
    // SHADDA + ARABIC KASRATAN
    0x64e => 0xfc60,
    // SHADDA + ARABIC FATHA
    0x64f => 0xfc61,
    // SHADDA + ARABIC DAMMA
    0x650 => 0xfc62,
    // SHADDA + ARABIC KASRA
    0x670 => 0xfc63,
// … truncated, see source

Source: src/Arabic.php:3234

END

Characters that never join to the following character (Joining_Type R or U as listed in ArabicShaping.txt).

public const END = [
    0x600,
    // ARABIC NUMBER SIGN
    0x601,
    // ARABIC SIGN SANAH
    0x602,
    // ARABIC FOOTNOTE MARKER
    0x603,
    // ARABIC SIGN SAFHA
    0x604,
    // ARABIC SIGN SAMVAT
    0x605,
// … truncated, see source

Source: src/Arabic.php:3249

HEH

Unicode code for ARABIC LETTER HEH (U+0647)

public const HEH = 0x647

Source: src/Arabic.php:54

JOINING

Joining_Type of a character: U (non-joining), R (right-joining), D (dual-joining), C (join-causing), L (left-joining) or T (transparent).

Code points missing from this map are non-joining.

public const JOINING = [0xad => 'T', 0x300 => 'T', 0x301 => 'T', 0x302 => 'T', 0x303 => 'T', 0x304 => 'T', 0x305 => 'T', 0x306 => 'T', 0x307 => 'T', 0x308 => 'T', 0x309 => 'T', 0x30a => 'T', 0x30b => 'T', 0x30c => 'T', 0x30d => 'T', 0x30e => 'T', 0x30f => 'T', 0x310 => 'T', 0x311 => 'T', 0x312 => 'T', 0x313 => 'T', 0x314 => 'T', 0x315 => 'T', 0x316 => 'T', 0x317 => 'T', 0x318 => 'T', 0x319 => 'T', 0x31a => 'T', 0x31b =>
// … truncated, see source

Source: src/Arabic.php:73

LAA

Lam-alef ligatures: alef char code => [isolated, final, initial, medial].

public const LAA = [
    0x622 => [0xfef5, 0xfef6, 0xfef5, 0xfef6],
    // LAM + ARABIC LETTER ALEF WITH MADDA ABOVE
    0x623 => [0xfef7, 0xfef8, 0xfef7, 0xfef8],
    // LAM + ARABIC LETTER ALEF WITH HAMZA ABOVE
    0x625 => [0xfef9, 0xfefa, 0xfef9, 0xfefa],
    // LAM + ARABIC LETTER ALEF WITH HAMZA BELOW
    0x627 => [0xfefb, 0xfefc, 0xfefb, 0xfefc],
]

Source: src/Arabic.php:3221

LAM

Unicode code for ARABIC LETTER LAM (U+0644)

public const LAM = 0x644

Source: src/Arabic.php:49

LIGATURE_ALLAH_ISOLATED_FORM

Unicode code for ARABIC LIGATURE ALLAH ISOLATED FORM (U+FDF2)

public const LIGATURE_ALLAH_ISOLATED_FORM = 0xfdf2

Source: src/Arabic.php:64

QUESTION_MARK

Unicode code for ARABIC QUESTION MARK (U+061F)

public const QUESTION_MARK = 0x61f

Source: src/Arabic.php:44

SHADDA

Unicode code for ARABIC SHADDA (U+0651)

public const SHADDA = 0x651

Source: src/Arabic.php:59

SUBSTITUTE

Arabic shape substitutions: char code => [isolated, final, initial, medial].

Characters without a distinct initial or medial form repeat the isolated and final ones.

public const SUBSTITUTE = [
    0x621 => [0xfe80, 0xfe80, 0xfe80, 0xfe80],
    // ARABIC LETTER HAMZA
    0x622 => [0xfe81, 0xfe82, 0xfe81, 0xfe82],
    // ARABIC LETTER ALEF WITH MADDA ABOVE
    0x623 => [0xfe83, 0xfe84, 0xfe83, 0xfe84],
    // ARABIC LETTER ALEF WITH HAMZA ABOVE
    0x624 => [0xfe85, 0xfe86, 0xfe85, 0xfe86],
    // ARABIC LETTER WAW WITH HAMZA ABOVE
    0x625 => [0xfe87, 0xfe88, 0xfe87, 0xfe88],
// … truncated, see source

Source: src/Arabic.php:3137

Methods

getJoiningType()

Get the Joining_Type of a Unicode code point.

public static getJoiningType(int $ord): string

Parameters:

  • $ord (int): Unicode code point.

Returns: string

Source: src/Arabic.php:3460