1 /* vi:set ts=8 sts=4 sw=4:
3 * VIM - Vi IMproved by Bram Moolenaar
5 * Do ":help uganda" in Vim to read copying and usage conditions.
6 * Do ":help credits" in Vim to see a list of people who contributed.
10 * Farsi characters are categorized into following types:
12 * TyA (for capital letter representation)
13 * TyB (for types that look like _X e.g. AYN)
14 * TyC (for types that look like X_ e.g. YE_)
15 * TyD (for types that look like _X_ e.g. _AYN_)
16 * TyE (for types that look like X e.g. RE)
20 * Farsi character set definition
24 * Begin of the non-standard part
28 #define ALEF_U_H_ 0x81
67 * End of the non-standard part
74 #define F_BLANK 0xa0 /* Farsi ' ' (SP) character */
75 #define F_PSP 0xa1 /* PSP for capitalizing of a character */
76 #define F_PCN 0xa2 /* PCN for redefining of the hamye meaning */
77 #define F_EXCL 0xa3 /* Farsi ! character */
78 #define F_CURRENCY 0xa4 /* Farsi Rial character */
79 #define F_PERCENT 0xa5 /* Farsi % character */
80 #define F_PERIOD 0xa6 /* Farsi '.' character */
81 #define F_COMMA 0xa7 /* Farsi ',' character */
82 #define F_LPARENT 0xa8 /* Farsi '(' character */
83 #define F_RPARENT 0xa9 /* Farsi ')' character */
84 #define F_MUL 0xaa /* Farsi 'x' character */
85 #define F_PLUS 0xab /* Farsi '+' character */
86 #define F_BCOMMA 0xac /* Farsi comma character */
87 #define F_MINUS 0xad /* Farsi '-' character */
88 #define F_DIVIDE 0xae /* Farsi divide (/) character */
89 #define F_SLASH 0xaf /* Farsi '/' character */
102 #define F_DCOLON 0xba /* Farsi ':' character */
103 #define F_SEMICOLON 0xbb /* Farsi ';' character */
104 #define F_GREATER 0xbc /* Farsi '>' character */
105 #define F_EQUALS 0xbd /* Farsi '=' character */
106 #define F_LESS 0xbe /* Farsi '<' character */
107 #define F_QUESTION 0xbf /* Farsi ? character */
141 #define F_HE 0xe0 /* F_ added for name clash with Perl */
147 #define F_LBRACK 0xe2 /* Farsi '[' character */
148 #define F_RBRACK 0xe3 /* Farsi ']' character */
149 #define F_LBRACE 0xe4 /* Farsi '{' character */
150 #define F_RBRACE 0xe5 /* Farsi '}' character */
151 #define F_LQUOT 0xe6 /* Farsi left quotation character */
152 #define F_RQUOT 0xe7 /* Farsi right quotation character */
153 #define F_STAR 0xe8 /* Farsi '*' character */
154 #define F_UNDERLINE 0xe9 /* Farsi '_' character */
155 #define F_PIPE 0xea /* Farsi '|' character */
156 #define F_BSLASH 0xeb /* Farsi '\' character */
166 #define ALEF_U_H 0xf8
168 #define ALEF_D_H 0xfa
181 * definitions for the window dependent functions (w_farsi).
187 /* special Farsi text messages */
189 EXTERN char_u farsi_text_1
[]
191 = { YE_
, _SIN
, RE
, ALEF_
, _FE
, ' ', 'V', 'I', 'M',
192 ' ', F_HE
, _BE
, ' ', SHIN
, RE
, _GAF
, DAL
,' ', NOON
,
193 ALEF_
, _YE
, ALEF_
, _PE
, '\0'}
197 EXTERN char_u farsi_text_2
[]
199 = { YE_
, _SIN
, RE
, ALEF_
, _FE
, ' ', FARSI_3
, FARSI_3
,
200 FARSI_4
, FARSI_2
, ' ', DAL
, RE
, ALEF
, DAL
, _NOON
,
201 ALEF_
, _TE
, _SIN
, ALEF
, ' ', F_HE
, _BE
, ' ', SHIN
,
202 RE
, _GAF
, DAL
, ' ', NOON
, ALEF_
, _YE
, ALEF_
, _PE
, '\0'}
206 EXTERN char_u farsi_text_3
[]
208 = { DAL
, WAW
, _SHIN
, _YE
, _MIM
, _NOON
, ' ', YE_
, _NOON
,
209 ALEF_
,_BE
, _YE
, _TE
, _SHIN
, _PE
, ' ', 'R','E','P','L',
210 'A','C','E', ' ', NOON
, ALEF_
, _MIM
, RE
, _FE
, ZE
, ALEF
,
211 ' ', 'R', 'E', 'V', 'E', 'R', 'S', 'E', ' ', 'I', 'N',
212 'S', 'E', 'R', 'T', ' ', SHIN
, WAW
, RE
, ' ', ALEF_
, _BE
,
213 ' ', YE_
, _SIN
, RE
, ALEF_
, _FE
, ' ', RE
, DAL
, ' ', RE
,
214 ALEF_
, _KAF
,' ', MIM
, ALEF_
, _GAF
, _NOON
, _HE
, '\0'}
219 EXTERN char_u farsi_text_4
[]
221 = { DAL
, WAW
, _SHIN
, _YE
, _MIM
, _NOON
, ' ', YE_
, _NOON
,
222 ALEF_
, _BE
, _YE
, _TE
, _SHIN
, _PE
, ' ', '<', 'C','T','R',
223 'L','-','B','>', ' ', NOON
, ALEF_
, _MIM
, RE
, _FE
, ZE
,
224 ALEF
, ' ', YE_
, _SIN
, RE
, ALEF_
, _FE
, ' ', RE
, DAL
, ' ',
225 RE
, ALEF_
, _KAF
,' ', MIM
, ALEF_
, _GAF
, _NOON
, _HE
, '\0'}
230 EXTERN char_u farsi_text_5
[]
232 = { ' ', YE_
, _SIN
, RE
, ALEF_
, _FE
, '\0'}