1 ;; ARAB.flt -- Font Layout Table for Arabic font (Unicode encoding)
2 ;; Copyright (C) 2003, 2004, 2007
3 ;; National Institute of Advanced Industrial Science and Technology (AIST)
4 ;; Registration Number H15PRO112
6 ;; This file is part of the m17n database; a sub-part of the m17n
9 ;; The m17n library is free software; you can redistribute it and/or
10 ;; modify it under the terms of the GNU Lesser General Public License
11 ;; as published by the Free Software Foundation; either version 2.1 of
12 ;; the License, or (at your option) any later version.
14 ;; The m17n library is distributed in the hope that it will be useful,
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 ;; Lesser General Public License for more details.
19 ;; You should have received a copy of the GNU Lesser General Public
20 ;; License along with the m17n library; if not, write to the Free
21 ;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 ;; Boston, MA 02110-1301, USA.
24 (font layouter arab nil
25 (font (nil bitstream\ cyberbase unicode-bmp)))
29 ;;; For Arabic fonts of Unicode encoding to draw Arabic script.
31 ;; phase 1: Kazakh high hamza
40 (0xFB50 0xFDFF ?x) ; Arabic Presentation Forms-A
41 (0xFE70 0xFEFC ?x) ; Arabic Presentation Forms-B
52 (1 < 0x0674 rmhamza >)
66 (0x0600 0x06FF ?x) ; general
67 (0x0622 ?a) ; alef madda
68 (0x0623 ?b) ; alef hamza above
69 (0x0625 ?c) ; alef hamza below
72 (0x064B 0x0655 ?t) ; combinings
73 (0x0670 ?t) ; combining
74 (0x06D6 0x06ED ?t) ; combinings
109 ;; D: Dual-joining (beh, teh, etc. & zwj)
110 ;; R: Right-joining (alef, dal, thal, reh, zain)
111 ;; U: Non-joining (Hamza, etc. & zwnj)
112 ;; T: Transparent (combining marks)
113 ;; P: Already in Arabic Presentation Form A & B
178 ("(.)(T*)(.*)" ; == (D)(T*)(U.*)
202 ("(.)(T*)(.*)" ; == (D)(T*)(U.*)
207 ("(.)(T*)(.*)" ; == (R)(T*)(.*)
220 ("(.)(T*)(.*)" ; == (D)(T*)(U.*)
225 ("(.)(T*)(.*)" ; == ([RU])(T*)(.*)
232 ((range 0x060C 0x060F) =)
272 ((range 0x0660 0x066D) =)
319 ((range 0x06F0 0x06F9) =)
526 ((0x0651 0x0650) tc+bc 0x064E tc+bc 0x0651) ; shadda + kasra
527 ((0x0651 0x064D) tc+bc 0x064B tc+bc 0x0651) ; shadda + kasratan
528 ((range 0x0610 0x0615) tc+bc =)
535 ((range 0x0651 0x0654) tc+bc =)
541 ((range 0x06D6 0x06DC) tc+bc =)
542 ((range 0x06DF 0x06E2) tc+bc =)