2 //============================================================+
3 // File name : unicode_data.php
5 // Last Update : 2008-01-08
7 // Description : Unicode Include file for TCPDF.
9 // Author: Nicola Asuni
15 // 09044 Quartucciu (CA)
19 //============================================================+
21 // Efthimios Mavrogeorgiadis
24 * Unicode Include file for TCPDF.
25 * @author Nicola Asuni
26 * @copyright 2004-2008 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
27 * @package com.tecnick.tcpdf
29 * @link http://tcpdf.sourceforge.net
30 * @license http://www.gnu.org/copyleft/lesser.html LGPL
31 * @since 2.1.000 (2008-01-08)
37 define("K_LRM", 8206);
41 define("K_RLM", 8207);
43 * Left-to-Right Embedding
45 define("K_LRE", 8234);
47 * Right-to-Left Embedding
49 define("K_RLE", 8235);
51 * Pop Directional Format
53 define("K_PDF", 8236);
55 * Left-to-Right Override
57 define("K_LRO", 8237);
59 * Right-to-Left Override
61 define("K_RLO", 8238);
64 * Pattern to test RTL (Righ-To-Left) strings using regular expressions.
66 define("K_RE_PATTERN_RTL", "/(
68 | \xD7[\x80\x83\x86\x90-\xAA\xB0-\xB4] # R
69 | \xDF[\x80-\xAA\xB4\xB5\xBA] # R
71 | \xEF\xAC[\x9D\x9F\xA0-\xA8\xAA-\xB6\xB8-\xBC\xBE] # R
72 | \xEF\xAD[\x80\x81\x83\x84\x86-\x8F] # R
73 | \xF0\x90\xA0[\x80-\x85\x88\x8A-\xB5\xB7\xB8\xBC\xBF] # R
74 | \xF0\x90\xA4[\x80-\x99] # R
75 | \xF0\x90\xA8[\x80\x90-\x93\x95-\x97\x99-\xB3] # R
76 | \xF0\x90\xA9[\x80-\x87\x90-\x98] # R
77 | \xE2\x80[\xAB\xAE] # RLE & RLO
81 * Pattern to test Arabic strings using regular expressions.
82 * source: http://www.w3.org/International/questions/qa-forms-utf-8
84 define("K_RE_PATTERN_ARABIC", "/(
85 \xD8[\x80-\x83\x8B\x8D\x9B\x9E\x9F\xA1-\xBA] # AL
86 | \xD9[\x80-\x8A\xAD-\xAF\xB1-\xBF] # AL
87 | \xDA[\x80-\xBF] # AL
88 | \xDB[\x80-\x95\x9D\xA5\xA6\xAE\xAF\xBA-\xBF] # AL
89 | \xDC[\x80-\x8D\x90\x92-\xAF] # AL
90 | \xDD[\x8D-\xAD] # AL
91 | \xDE[\x80-\xA5\xB1] # AL
92 | \xEF\xAD[\x90-\xBF] # AL
93 | \xEF\xAE[\x80-\xB1] # AL
94 | \xEF\xAF[\x93-\xBF] # AL
95 | \xEF[\xB0-\xB3][\x80-\xBF] # AL
96 | \xEF\xB4[\x80-\xBD] # AL
97 | \xEF\xB5[\x90-\xBF] # AL
98 | \xEF\xB6[\x80-\x8F\x92-\xBF] # AL
99 | \xEF\xB7[\x80-\x87\xB0-\xBC] # AL
100 | \xEF\xB9[\xB0-\xB4\xB6-\xBF] # AL
101 | \xEF\xBA[\x80-\xBF] # AL
102 | \xEF\xBB[\x80-\xBC] # AL
103 | \xD9[\xA0-\xA9\xAB\xAC] # AN
107 * Array of unicode types
17833 * Mirror unicode characters.
17834 * For information on bidi mirroring, see UAX #9: Bidirectional Algorithm, at http://www.unicode.org/unicode/reports/tr9/
17836 $unicode_mirror = array(
18191 * Arabic shape subtitutions
18192 * char code => isolated, final, initial, medial
18194 $unicode_arlet = array(
18195 1569 => array(65152),
18196 1570 => array(65153, 65154),
18197 1571 => array(65155, 65156),
18198 1572 => array(65157, 65158),
18199 1573 => array(65159, 65160),
18200 1574 => array(65161, 65162, 65163, 65164),
18201 1575 => array(65165, 65166),
18202 1576 => array(65167, 65168, 65169, 65170),
18203 1577 => array(65171, 65172),
18204 1578 => array(65173, 65174, 65175, 65176),
18205 1579 => array(65177, 65178, 65179, 65180),
18206 1580 => array(65181, 65182, 65183, 65184),
18207 1581 => array(65185, 65186, 65187, 65188),
18208 1582 => array(65189, 65190, 65191, 65192),
18209 1583 => array(65193, 65194),
18210 1584 => array(65195, 65196),
18211 1585 => array(65197, 65198),
18212 1586 => array(65199, 65200),
18213 1587 => array(65201, 65202, 65203, 65204),
18214 1588 => array(65205, 65206, 65207, 65208),
18215 1589 => array(65209, 65210, 65211, 65212),
18216 1590 => array(65213, 65214, 65215, 65216),
18217 1591 => array(65217, 65218, 65219, 65220),
18218 1592 => array(65221, 65222, 65223, 65224),
18219 1593 => array(65225, 65226, 65227, 65228),
18220 1594 => array(65229, 65230, 65231, 65232),
18221 1601 => array(65233, 65234, 65235, 65236),
18222 1602 => array(65237, 65238, 65239, 65240),
18223 1603 => array(65241, 65242, 65243, 65244),
18224 1604 => array(65245, 65246, 65247, 65248),
18225 1605 => array(65249, 65250, 65251, 65252),
18226 1606 => array(65253, 65254, 65255, 65256),
18227 1607 => array(65257, 65258, 65259, 65260),
18228 1608 => array(65261, 65262),
18229 1609 => array(65263, 65264, 64488, 64489),
18230 1610 => array(65265, 65266, 65267, 65268),
18231 1649 => array(64336, 64337),
18232 1655 => array(64477),
18233 1657 => array(64358, 64359, 64360, 64361),
18234 1658 => array(64350, 64351, 64352, 64353),
18235 1659 => array(64338, 64339, 64340, 64341),
18236 1662 => array(64342, 64343, 64344, 64345),
18237 1663 => array(64354, 64355, 64356, 64357),
18238 1664 => array(64346, 64347, 64348, 64349),
18239 1667 => array(64374, 64375, 64376, 64377),
18240 1668 => array(64370, 64371, 64372, 64373),
18241 1670 => array(64378, 64379, 64380, 64381),
18242 1671 => array(64382, 64383, 64384, 64385),
18243 1672 => array(64392, 64393),
18244 1676 => array(64388, 64389),
18245 1677 => array(64386, 64387),
18246 1678 => array(64390, 64391),
18247 1681 => array(64396, 64397),
18248 1688 => array(64394, 64395),
18249 1700 => array(64362, 64363, 64364, 64365),
18250 1702 => array(64366, 64367, 64368, 64369),
18251 1705 => array(64398, 64399, 64400, 64401),
18252 1709 => array(64467, 64468, 64469, 64470),
18253 1711 => array(64402, 64403, 64404, 64405),
18254 1713 => array(64410, 64411, 64412, 64413),
18255 1715 => array(64406, 64407, 64408, 64409),
18256 1722 => array(64414, 64415),
18257 1723 => array(64416, 64417, 64418, 64419),
18258 1726 => array(64426, 64427, 64428, 64429),
18259 1728 => array(64420, 64421),
18260 1729 => array(64422, 64423, 64424, 64425),
18261 1733 => array(64480, 64481),
18262 1734 => array(64473, 64474),
18263 1735 => array(64471, 64472),
18264 1736 => array(64475, 64476),
18265 1737 => array(64482, 64483),
18266 1739 => array(64478, 64479),
18267 1740 => array(64508, 64509, 64510, 64511),
18268 1744 => array(64484, 64485, 64486, 64487),
18269 1746 => array(64430, 64431),
18270 1747 => array(64432, 64433),
18271 8204 => array(00000),
18272 8205 => array(00000, 00000, 00000, 00000)
18275 //============================================================+
18277 //============================================================+