#
#  Copyright (C) 2011 by Peter Engström <peter.engstrom@indexbraille.com>
#
#  This file is part of liblouis.
#
#  liblouis is free software: you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as
#  published by the Free Software Foundation, either version 2.1 of the
#  License, or (at your option) any later version.
#
#  liblouis is distributed in the hope that it will be useful, but
#  WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
#  Lesser General Public License for more details.
#
#  You should have received a copy of the GNU Lesser General Public
#  License along with liblouis. If not, see
#  <http://www.gnu.org/licenses/>.
#
# -----------------------------------------------------------------------------
#
# 	SORANI (KURDISH)
#	================
# 	Author:		Peter Engström
# 	Company:	Index Braille
#
# 	Date: 		Note:
#	2011-02-08	Initial release based on _chardefs_ar.cti
#	2011-03-15	Updated
#	2011-03-22	Removing U+200C from text. New braille code for Heh.
#				Arabic letters where coded as signs.
#	2011-03-23	New handling of U+200C. Letter Heh changed again.
#
#

# Remove U+200C three-per-em space = thick space but let it be a virtual space.
space \x200C 9							# Assign x200C to virtual dot 9. [Peter Engström 2011-03-23]
noback pass2 @9 ?						# Remove virtual dot 9 during second pass. [Peter Engström 2011-03-23]
space \x00a0 a
include spaces.uti

# ----------- define all chars ------------------------------------------------

punctuation ! 235						# 33
punctuation " 236						# 34	[Peter Engström 2011-03-15]
sign # 3456								# 35
sign $ 1246								# 36	[Peter Engström 2011-03-15]
sign % 1234								# 37	[Peter Engström 2011-03-15]
sign & 12346							# 38	[Peter Engström 2011-03-15]
punctuation ' 3							# 39 apostrophe
punctuation ) 356						# 40
punctuation ( 236						# 41
sign * 16								# 42	[Peter Engström 2011-03-15]
math + 346								# 43	[Peter Engström 2011-03-15]
punctuation , 46						# 44
punctuation - 36						# 45
punctuation \x06D4 256					# Arabic Full stop
punctuation . 256						# 46	[Peter Engström 2011-03-15]
math / 34								# 47
include loweredDigits6Dots.uti
punctuation : 5-2						# 58	[Peter Engström 2011-03-15]
punctuation ; 5							# 59	[Peter Engström 2011-03-15]
math < 0-126-0							# 60	[Peter Engström 2011-03-15]
math = 123456							# 61	[Peter Engström 2011-03-15]
letter > 0-246-0
math > 0-345-0							# 62	[Peter Engström 2011-03-15]
punctuation ? 1456						# 63
sign @ 4								# 64

include latinLetterDef6Dots.uti

punctuation [ 13456						# 91	[Peter Engström 2011-03-15]
sign \\ 1256							# 92	[Peter Engström 2011-03-15]
punctuation ] 12346						# 93	[Peter Engström 2011-03-15]
sign ^ 45								# 94 circumflex accent	[Peter Engström 2011-03-15]
sign _ 456								# 95 underscore
sign ` 4								# 96 grave accent
# a - z									# 97 - 122
punctuation { 135						# 123	[Peter Engström 2011-03-15]
sign | 1245								# 124
punctuation } 246						# 125	[Peter Engström 2011-03-15]
math ~ 45								# 126
sign \x00A2 4-14						# 162 ¢ cents sign
sign \x00A3 4-123						# 163 £ pounds sign
sign \x00A5 4-13456						# 165 ¥ yen sign
sign § 4-234-3							# 167 section sign \x00A7
sign \x00A9 2356-6-14-2356 				# 169 © copyright sign
sign \x00AE 16-256				 		# ® Registered mark
punctuation \x00Ad 36					# 173 soft hyphen
sign \x00B0 356							# 176 ° degrees sign
sign \x00B5 46-134						# 181 µ micro sign
sign \x00B6 4-1234-345					# 182 ¶ pilcrow sign
sign \x00BF 236							# 191 inverted question mark
math \x00D7 56-236						# 215 × multiplication sign
math \x00F7 56-256						# 247 ÷ division sign

punctuation \x2010 36					# 8208 hyphen
punctuation \x2011 23478				# 8209 non-breaking hyphen
punctuation \x2013 246					# 8211 en dash	[Peter Engström 2011-03-15]
punctuation \x2014 246					# 8212	[Peter Engström 2011-03-15]
punctuation	\x2018 3					# 8216 smart single left quotation mark
punctuation	\x2019 3					# 8217 smart single right quotation mark
punctuation	\x201C 2356					# 8220 smart opening double quote
punctuation	\x201D 2356					# 8221 smart closing double quote
punctuation	\x201E 2356					# 8222 smart double low quotation mark
punctuation	\x201F 2356					# 8223 smart double high reverse quotation mark
punctuation \x2026 3-3-3				# 8230 smart ellipsis
sign \x20AC 4-15						# 8364 Euro sign
noback sign \x25CF 16					# 9679 black circle

#-------------------------- Arabic characters ---------------------------------
sign \x060C 5							# Arabic comma
sign \x061B 56							# Arabic semicolon
sign \x061F 236							# Arabic question mark

letter \x0621 345						# Hamza	[Peter Engström 2011-03-15]
letter \x0622 345						# Alef with madda above
letter \x0623 34						# Alef with hamza above
letter \x0624 1256						# Waw with hamza above
letter \x0625 34						# Alef with hamza below	[Peter Engström 2011-03-15]
letter \x0626 345						# Yeh with hamza above 
letter \x0627 1							# Alef
letter \x0628 12						# Beh
letter \x0629 16						# Teh marbutha
letter \x062A 2345						# Teh
letter \x062B 1456						# Theh
letter \x062C 245						# Jeem
letter \x062D 156						# Hah
letter \x062E 1346						# Khah
letter \x062F 145						# Dal
letter \x0630 2346						# Thal
letter \x0631 246						# Reh	[Peter Engström 2011-03-15]
letter \x0632 1356						# Zain
letter \x0633 234						# Seen
letter \x0634 146						# Sheen
letter \x0635 12346						# Sad
letter \x0636 1246						# Dad
letter \x0637 23456						# Tah
letter \x0638 123456					# Zah
letter \x0639 12356						# Ain
letter \x063A 126						# Ghain
letter \x0640 2							# Tatweel (=kashida inserted to stretch characters).
letter \x0641 124						# Feh
letter \x0642 12345						# Qaf
letter \x0643 13						# Kaf
letter \x0644 123						# Lam
letter \x0645 134						# Meem
letter \x0646 1345						# Noon

#--BEGIN--------------------------------------------[Peter Engström 2011-02-08]
letter \x0647 15						# Heh
begword \x0647 125						
midword \x0647 125						
endword \x0647 15						
#--END----------------------------------------------[Peter Engström 2011-02-08]

letter \x0648 2456						# Waw
letter \x0649 135						# Alef maksura
letter \x064A 24						# Yeh
letter \x064B 23						# Fathatan
letter \x064C 26						# Dammatan
letter \x064D 35						# Kasratan
letter \x064E 2							# Fatha
letter \x064F 136						# Damma
letter \x0650 15						# Kasra
letter \x0651 6							# Shadda
letter \x0652 25						# Sukun

#--BEGIN--------------------------------------------[Peter Engström 2011-02-08]
sign \x02C7 456							# Caron (=hacek)
sign \x032C 56							# Combinding caron below
sign \x065A 456							# Vowel sign small v above
sign \x0660 356							# 0 Arabic numbers
sign \x0661 2							# 1
sign \x0662 23							# 2
sign \x0663 25							# 3
sign \x0664 256							# 4
sign \x0665 26							# 5
sign \x0666 235							# 6
sign \x0667 2356						# 7
sign \x0668 236							# 8
sign \x0669 35							# 9
sign \x066C 5							# Arabic thousands separator

letter \x067E 1234						# Peh
letter \x0686 14						# Tcheh
letter \x0695 1235						# Reh with small v below
letter \x0698 346						# Jeh
letter \x06A4 1236						# Veh
letter \x06A9 13						# Keheh
letter \x06AF 1245						# Gaf
letter \x06B5 123456					# Lam with small v
letter \x06BE 125						# Heh doachashmee
letter \x06C1 15						# Heh goal
letter \x06C6 135						# Oe
letter \x06CB 1236						# Ve
letter \x06CC 24						# Farsi Yeh
letter \x06CE 34						# Yeh with small v
letter \x06D5 15						# Ae
letter \xFB8A 346						# Jeh isolated form
letter \xFBA6 15						# Heh goal isolated form
letter \xFBAA 125						# Heh doachashmee isolated form
letter \xFBAB 15						# Heh doachashmee final form
letter \xFBAC 125						# Heh doachashmee initial form
letter \xFBAD 125						# Heh doachashmee medial form
letter \xFBFC 24						# Farsi yeh isolated form
letter \xFEAD 246						# Reh isolated form
letter \xFEAE 246						# Reh final form
letter \xFEDD 123						# Lam isolated form
letter \xFEDE 123						# Lam final form
letter \xFEE9 15						# Heh isolated form
letter \xFEEA 15						# Heh final form
letter \xFEEB 125						# Heh initial form
letter \xFEEC 125						# Heh medial form
letter \xFEEF 24						# Alef maksura isolated form
letter \xFEFB 123-1						# Ligature lam with alef with hamza below isolated form 
letter \xFEFC 123-1						# Ligature lam with alef with hamza below final form 

#--END----------------------------------------------[Peter Engström 2011-02-08]
