Table of contents
Namespace: Com\Tecnick\Unicode\Bidi
Extends: Arabic
File: Shaping.php line 40
Arabic shaping: replaces the characters of an isolating run sequence with their positional presentation forms and ligatures.
Tags
- since: 2015-07-13
- category: Library
- author: Nicola Asuni info@tecnick.com
- copyright: 2011-2026 Nicola Asuni - Tecnick.com LTD
- license: https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)
- link: https://github.com/tecnickcom/tc-lib-unicode
- phpstan-import-type: SeqData from \Com\Tecnick\Unicode\Bidi\Shaping\Arabic
- phpstan-import-type: CharData from \Com\Tecnick\Unicode\Bidi\Shaping\Arabic
Methods
__construct()
File: Shaping.php line 63
public __construct(SeqData $seq, array<int, int> $paragraph[, array<int, string> $joining = [] ]) : mixed
The joining context is read from the paragraph, so two letters separated only by characters of Joining_Type Transparent join even when those characters put them in different isolating run sequences: the explicit embedding codes (LRE, RLE, LRO, RLO and PDF) are Transparent.
Parameters
- $seq : SeqData: Isolated run sequence array
- $paragraph : array<int, int>: Codepoints of the paragraph, in logical order. Required: it is the only source of the joining context, and an empty one shapes every character as isolated.
- $joining : array<int, string> = []: Joining_Type of each paragraph position (computed from $paragraph when empty)
getJoiningTypes()
File: Arabic.php line 137
public static getJoiningTypes(array<int, int> $paragraph) : array<int, string>
Parameters
- $paragraph : array<int, int>: Codepoints of the paragraph, in logical order
Return values
array<int, string>
getSequence()
File: Shaping.php line 77
public getSequence() : SeqData
Return values
SeqData