# liblouis: Latvian Grade 1 Braille Table
#
#  Copyright (C) 2004-2008 ViewPlus Technologies, Inc. www.viewplus.com
#  Copyright (C) 2004-2006 JJB Software, Inc. www.jjb-software.com
#  Copyright (C) 2012 Mesar Hameed <mesar.hameed@gmail.com>
#  Copyright (C) 2018-2019 Bert Frees
#
#  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/>.

# Created & maintained by Leon Ungier <Leon.Ungier@ViewPlus.com>.

# Modifications done by Bert Frees based on input from Gatis Grintals
# and Artis Raugulis.

include text_nabcc.dis

space \x00a0 a
include spaces.uti

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

punctuation ! 235				exclamation sign 						x0021
punctuation " 356				double quote								x0022
sign # 3456							number sign									x0023
sign $ 4-256						dollar sign									x0024
math % 3456-245-356					percent sign								x0025
sign & 4-12346					ampersand										z0026
punctuation ' 3					apostrophe									x0027
punctuation ( 2356			left parenthesis						x0028
punctuation ) 2356			right parenthesis						x0029
sign * 35						asterisk										x002A
math + 235						plus												002B
punctuation , 2					coma												002C
punctuation - 36			hyphen-minus								002D
punctuation . 256				point												002E
math / 34								solidus											002F

punctuation : 25				colon								x003A
punctuation ; 23				semicolon						x003B
punctuation < 246				less-than sign			x003C
math = 2356						equal sign					x003D
punctuation ? 26				question mark				x003F
sign @ 4				commercial at				x0040

uplow \x0100\x0101 16			letter A with macron
uplow \x010C\x010D 146		letter C with caron
uplow \x0112\x0113 156		letter E with macron
uplow \x0122\x0123 12456	letter g with cedilla
uplow \x012A\x012B 246		letter I with macron
uplow \x0136\x0137 136		letter K with cedilla
uplow \x013B\x013C 1236		letter L with cedilla
uplow \x0145\x0146 13456	Letter N with cedilla
uplow \x014C\x014D 1356		letter O with macron
uplow \x0156\x0157 12356	letter R with cedilla
uplow \x0160\x0161 2346			letter S with caron
uplow \x016A\x016B 346			letter U with macron
uplow \x017D\x017E 3456			letter Z with caron

# define the dot combinations that are different from the default: U, V and Z
# these definitions need to be placed before AND after the "latinLetterDef6Dots" include
# in order for both the lower- and uppercase part to take precedence
# see issue https://github.com/liblouis/liblouis/issues/384
uplow Uu 34
uplow Vv 2456
uplow Zz 345
include latinLetterDef6Dots.uti
include digits6Dots.uti # Must come after letters.
include litdigits6Dots.uti # Must come after letters.
uplow Uu 34
uplow Vv 2456
uplow Zz 345

math > 135							greater-than sign		x003E
punctuation [ 12356		left square bracket		x005B
sign \\ 56-36				reverse solidus				x005C
punctuation ] 23456			right square bracket	x005D
sign ^ 46								circumflex accent			x005E
sign _ 6							low line							x005F
sign ` 3							grave accent					x0060

# a - z								# 97 - 122							x0061-x007A

punctuation { 12346		left curly bracket		x007B
sign | 456							vertical line					x007C
punctuation } 13456		right curly bracket		x007D
math ~ 25-25								tilde									x007E
sign \x0080 15-136-1235-135										x0080

sign ¢ 4-14				cent sign																			x00A2
sign £ 4-123			pound sign																		x00A3
sign ¤ 45-15			currency sign																	x00A4
sign ¥ 45-13456		yen	sign																			x00A5
sign € 4-15		euro sign																			x20AC
sign § 346				section sign																	x00A7
sign © 2356-6-14-2356		copyright																x00A9
punctuation « 236		left-pointing double angle quotation 		x00AB
punctuation ¬ 1256		not sign									x00AC
punctuation \x00AD 36 soft hyphen
sign ° 356			degree sign																		x00B0
sign ² 4-6-126		superscript 2 sign														x00B2
sign ³ 4-6-146		superscript 3 sign														x00B3
sign µ 46-134			micro sign																		x00B5
sign ¶ 1456 pilcrow sign (paragraph)											x00B6
sign ¹ 156				superscript 1 sign														x00B9
punctuation » 356		right-pointing double angle quotation		x00BB
math ¼ 6-16-34-1456		vulgar fraction one quarter								x00BC
math ½ 6-16-34-126		vulgar fraction one half									x00BD
math ¾ 6-126-34-1456	vulgar fraction 3 quarters								x00BE



uplow \x00C0\x00E0 12356	letter a with grave							x00C0 / 00E0
uplow \x00C1\x00E1 16			letter a with acute									x00E1
uplow \x00C2\x00E2 16					letter a with circumflex						x00E2
uplow \x00C3\x00E3 126		letter a with tilde											x00E3
uplow Ää 1356				A with diaeresis											x00C4 / 00E4
uplow Åå 16					A with ring above											x00C5 / 00E5
uplow \x00C6\x00E6 456	ae															x00C6
uplow Çç 12346							letter c with cedilla					x00C7 / 00E7
uplow Èè 2346								e with grave									x00C8 / 00E8
uplow \x00C9\x00E9 123456			e with acute									x00E9
uplow \x00CA\x00EA 126			e with circumflex							x00EA
uplow \x00CB\x00EB 1246		e with diaeresis								x00EB
uplow \x00CD\x00ED 34			i with acute										x00ED
uplow \x00CE\x00EE 146		i with circumflex								x00EE
uplow \x00CF\x00EF 12456	i with diaeresis								x00CF / 00EF

uplow	\x00D3\x00F3	246		O with acute										x00D3 / 00F3
uplow \x00D4\x00F4 1456		o with circumflex												x00F4
uplow \x00D5\x00F5 246		o with tilde														x00F5
uplow Öö 246							O with diaeresis								x00D6 / 00F6
math × 236				multiplication sign											x00D7
uplow \x00D8\x00F8 246		o with stroke										x00D8 / 00F8

math ÷ 256				division sign										x00F7

uplow \x00DA\x00FA 346				u with acute							x00DA / 00FA
uplow \x00DB\x00FB 156				u with circumflex					x00FB
uplow \x00DC\x00FC 1256				u with diaeresis					x00FC
uplow \x00DD\x00FD 12346			y with acute							x00DD / 00FD

noback sign \x25CF 35-35			black circle

# the letter a with ogonek -----------------------------------
uplow \x0104\x0105 16

# the letter c with acute
uplow \x0106\x0107 146

uplow \x010C\x010D 146					C with caron
uplow \x010E\x010F 1456					D with caron


# the letter e with ogonek
uplow \x0118\x0119 156

uplow \x011A\x011B 126					E with caron

lowercase \x012F 1246					I with ogonek

# the letter l with stroke
uplow \x0141\x0142 126

# the letter n with acute
uplow \x0143\x0144 1456
uplow \x0147\x0148 1246					N with caron

uplow \x0158\x0159 2456					R with caron

# the letter s	with acute
uplow \x015A\x015B 246

uplow \x0164\x0165 1256						T with caron
uplow \x016C\x016D 23456						U with breve
uplow \x016E\x016F 23456					U with ring above


# the letter z	with acute
uplow \x0179\x017A 2346

# the letter z with dot above
uplow \x017B\x017C 12346

# Russian letters
letter \x0410 1			# 1040 cyrillic capital letter a А
letter \x0430 1			# 1072 cyrillic small letter a а
letter \x0411 12		# 1041 cyrillic capital letter be Б
letter \x0431 12		# 1073 cyrillic small letter be б
letter \x0412 2456		# 1042 cyrillic capital letter ve В
letter \x0432 2456		# 1074 cyrillic small letter ve в
letter \x0413 1245		# 1043 cyrillic capital letter ghe Г
letter \x0433 1245		# 1075 cyrillic small letter ghe г
letter \x0414 145		# 1044 cyrillic capital letter de Д
letter \x0434 145		# 1076 cyrillic small letter de д
letter \x0415 15		# 1045 cyrillic capital letter ie Е
letter \x0435 15		# 1077 cyrillic small letter ie е
letter \x0401 16		# 1025 cyrillic capital letter io Ё
letter \x0451 16		# 1105 cyrillic small letter io ё
letter \x0416 245		# 1046 cyrillic capital letter zhe Ж
letter \x0436 245		# 1078 cyrillic small letter zhe ж
letter \x0417 1356		# 1047 cyrillic capital letter ze З
letter \x0437 1356		# 1079 cyrillic small letter ze з
letter \x0418 24		# 1048 cyrillic capital letter i И
letter \x0438 24		# 1080 cyrillic small letter i и
letter \x0419 12346		# 1049 cyrillic capital letter short i Й
letter \x0439 12346		# 1081 cyrillic small letter short i й
letter \x041a 13		# 1050 cyrillic capital letter ka К
letter \x043a 13		# 1082 cyrillic small letter ka к
letter \x041b 123		# 1051 cyrillic capital letter el Л
letter \x043b 123		# 1083 cyrillic small letter el л
letter \x041c 134		# 1052 cyrillic capital letter em М
letter \x043c 134		# 1084 cyrillic small letter em м
letter \x041d 1345		# 1053 cyrillic capital letter en Н
letter \x043d 1345		# 1085 cyrillic small letter en н
letter \x041e 135		# 1054 cyrillic capital letter o О
letter \x043e 135		# 1086 cyrillic small letter o о
letter \x041f 1234		# 1055 cyrillic capital letter pe П
letter \x043f 1234		# 1087 cyrillic small letter pe п
letter \x0420 1235		# 1056 cyrillic capital letter er Р
letter \x0440 1235		# 1088 cyrillic small letter er р
letter \x0421 234		# 1057 cyrillic capital letter es С
letter \x0441 234		# 1089 cyrillic small letter es с
letter \x0422 2345		# 1058 cyrillic capital letter te Т
letter \x0442 2345		# 1090 cyrillic small letter te т
letter \x0423 136		# 1059 cyrillic capital letter u У
letter \x0443 136		# 1091 cyrillic small letter u у
letter \x0424 124		# 1060 cyrillic capital letter ef Ф
letter \x0444 124		# 1092 cyrillic small letter ef ф
letter \x0425 125		# 1061 cyrillic capital letter ha Х
letter \x0445 125		# 1093 cyrillic small letter ha х
letter \x0426 14		# 1062 cyrillic capital letter tse Ц
letter \x0446 14		# 1094 cyrillic small letter tse ц
letter \x0427 12345		# 1063 cyrillic capital letter che Ч
letter \x0447 12345		# 1095 cyrillic small letter che ч
letter \x0428 156		# 1064 cyrillic capital letter sha Ш
letter \x0448 156		# 1096 cyrillic small letter sha ш
letter \x0429 1346		# 1065 cyrillic capital letter shcha Щ
letter \x0449 1346		# 1097 cyrillic small letter shcha щ
letter \x042a 12356		# 1066 cyrillic capital letter hard sign Ъ
letter \x044a 12356		# 1098 cyrillic small letter hard sign ъ
letter \x042b 2346		# 1067 cyrillic capital letter yeru Ы
letter \x044b 2346		# 1099 cyrillic small letter yeru ы
letter \x042c 23456		# 1068 cyrillic capital letter soft sign Ь
letter \x044c 23456		# 1100 cyrillic small letter soft sign ь
letter \x042d 246		# 1069 cyrillic capital letter e Э
letter \x044d 246		# 1101 cyrillic small letter e э
letter \x042e 1256		# 1070 cyrillic capital letter yu Ю
letter \x044e 1256		# 1102 cyrillic small letter yu ю
letter \x042f 1246		# 1071 cyrillic capital letter ya Я
letter \x044f 1246		# 1103 cyrillic small letter ya я

# Greek letters
letter \x0391 1			# 913 greek capital letter alpha Α
letter \x03b1 1			# 945 greek small letter alpha α
letter \x0392 12		# 914 greek capital letter beta Β
letter \x03b2 12		# 946 greek small letter beta β
letter \x0393 1245		# 915 greek capital letter gamma Γ
letter \x03b3 1245		# 947 greek small letter gamma γ
letter \x0394 145		# 916 greek capital letter delta Δ
letter \x03b4 145		# 948 greek small letter delta δ
letter \x0395 15		# 917 greek capital letter epsilon Ε
letter \x03b5 15		# 949 greek small letter epsilon ε
letter \x0396 1356		# 918 greek capital letter zeta Ζ
letter \x03b6 1356		# 950 greek small letter zeta ζ
letter \x0397 156		# 919 greek capital letter eta Η
letter \x03b7 156		# 951 greek small letter eta η
letter \x0398 1456		# 920 greek capital letter theta Θ
letter \x03b8 1456		# 952 greek small letter theta θ
letter \x0399 24		# 921 greek capital letter iota Ι
letter \x03b9 24		# 953 greek small letter iota ι
letter \x039a 13		# 922 greek capital letter kappa Κ
letter \x03ba 13		# 954 greek small letter kappa κ
letter \x039b 123		# 923 greek capital letter lamda Λ
letter \x03bb 123		# 955 greek small letter lamda λ
letter \x039c 134		# 924 greek capital letter mu Μ
letter \x03bc 134		# 956 greek small letter mu μ
letter \x039d 1345		# 925 greek capital letter nu Ν
letter \x03bd 1345		# 957 greek small letter nu ν
letter \x039e 1346		# 926 greek capital letter xi Ξ
letter \x03be 1346		# 958 greek small letter xi ξ
letter \x039f 135		# 927 greek capital letter omicron Ο
letter \x03bf 135		# 959 greek small letter omicron ο
letter \x03a0 1234		# 928 greek capital letter pi Π
letter \x03c0 1234		# 960 greek small letter pi π
letter \x03a1 1235		# 929 greek capital letter rho Ρ
letter \x03c1 1235		# 961 greek small letter rho ρ
letter \x03a3 234		# 931 greek capital letter sigma Σ
letter \x03c2 234		# 962 greek small letter final sigma ς
letter \x03c3 234		# 963 greek small letter sigma σ
letter \x03a4 2345		# 932 greek capital letter tau Τ
letter \x03c4 2345		# 964 greek small letter tau τ
letter \x03a5 136		# 933 greek capital letter upsilon Υ
letter \x03c5 136		# 965 greek small letter upsilon υ
letter \x03a6 124		# 934 greek capital letter phi Φ
letter \x03c6 124		# 966 greek small letter phi φ
letter \x03a7 12346		# 935 greek capital letter chi Χ
letter \x03c7 12346		# 967 greek small letter chi χ
letter \x03a8 13456		# 936 greek capital letter psi Ψ
letter \x03c8 13456		# 968 greek small letter psi ψ
letter \x03a9 2456		# 937 greek capital letter omega Ω
letter \x03c9 2456		# 969 greek small letter omega ω

punctuation	\x2010 36		 # 8208			hyphen
punctuation	\x2011 36		 # 8209			non-breaking hyphen
punctuation	\x2013 36		 # 8211			smart minus sign
punctuation \x2212 36        # 8722			minus sign
punctuation	\x2014 25		 # 8212			em dash
punctuation	\x2018 23		 # 8216			smart single left quotation mark
punctuation	\x2019 56		 # 8217			smart single right quotation mark

punctuation	\x201C 236		 # 8220			smart opening double quote
punctuation	\x201D 356		 # 8221			smart closing double quote
punctuation	\x201E 236		 # 8222			smart double low quotation mark
punctuation	\x201F 356		 # 8223			smart double high reverse quotation mark
punctuation	\x2020 126		 # 8224			dagger
punctuation	\x2022 5		 # 8226			bullet
punctuation	\x2026 256-256-256 # 8230		smart ellipsis

math		\x2030 3456-245-356-356 # 8240	promille

sign \x00af 46-25			# 175 macron ¯
sign \x00b1 235-36			# 177 plus-minus sign ±
sign \x02b9 5-35			# 697 modifier letter prime ʹ
sign \x02ba 5-35-35			# 698 modifier letter double prime ʺ
sign \x1d17 456-345			# 7447 latin small letter bottom half o ᴗ
sign \x2032 35				# 8242 prime ′
sign \x2044 1256			# 8260 fraction slash ⁄
sign \x2081 156				# 8321 subscript one ₁
sign \x20d1 45-25-2			# 8401 combining right harpoon above ⃑
sign \x20d7 25-2			# 8407 combining right arrow above ⃗
sign \x211c 6-1235			# 8476 black-letter capital r ℜ
sign \x2192 25-135			# 8594 rightwards arrow →
sign \x21c5 34-16			# 8645 upwards arrow leftwards of downwards arrow ⇅
sign \x21c8 34-34			# 8648 upwards paired arrows ⇈
sign \x21d2 2356-345		# 8658 rightwards double arrow ⇒
sign \x21d4 126-2356-345	# 8660 left right double arrow ⇔
sign \x2205 4-356			# 8709 empty set ∅
sign \x2206 456-145			# 8710 increment ∆
sign \x2208 5-246			# 8712 element of ∈
sign \x2209 45-246			# 8713 not an element of ∉
sign \x2211 456-234			# 8721 n-ary summation ∑
sign \x2215 456-123			# 8725 division slash ∕
sign \x2217 123456			# 8727 asterisk operator ∗
sign \x2218 3456-356		# 8728 ring operator ∘
sign \x221a 146-156			# 8730 square root √
sign \x221b 146				# 8731 cube root ∛
sign \x221e 12456			# 8734 infinity ∞
sign \x2222 456-246			# 8738 spherical angle ∢
sign \x2223 123				# 8739 divides ∣
sign \x2225 123-123			# 8741 parallel to ∥
sign \x2226 4-123-123		# 8742 not parallel to ∦
sign \x2229 56-256			# 8745 intersection ∩
sign \x222a 56-356			# 8746 union ∪
sign \x222b 2346			# 8747 integral ∫
sign \x2236 5-25			# 8758 ratio ∶
sign \x223e 456-1456		# 8766 inverted lazy s ∾
sign \x2245 26-2356			# 8773 approximately equal to ≅
sign \x2248 46-2356			# 8776 almost equal to ≈
sign \x2248 46-2356			# 8776 almost equal to ≈
sign \x2260 4-2356			# 8800 not equal to ≠
sign \x2264 246-2356		# 8804 less-than or equal to ≤
sign \x2265 135-2356		# 8805 greater-than or equal to ≥
sign \x226a 246-246			# 8810 much less-than ≪
sign \x226b 135-135			# 8811 much greater-than ≫
sign \x2282 12346			# 8834 subset of ⊂
sign \x2283 13456			# 8835 superset of ⊃
sign \x2284 4-12346			# 8836 not a subset of ⊄
sign \x2299 46-1235			# 8857 circled dot operator ⊙
sign \x22a5 3456-3			# 8869 up tack ⊥
sign \x22c5 3				# 8901 dot operator ⋅
sign \x2300 456-1456		# 8960 diameter sign ⌀
sign \x2502 4-16			# 9474 box drawings light vertical │
sign \x25e1 45-256			# 9697 lower half circle ◡
sign \xff01 12346			# 65281 fullwidth exclamation mark ！
sign \xff08 126				# 65288 fullwidth left parenthesis （
sign \xff09 345				# 65289 fullwidth right parenthesis ）

# ------------------------------------------------------


capsletter 46				# single capital letter indicator
begcapsword 46-46			# a block of consecutive capital letters indicator


numsign 3456		#	number sign, just one operand
midnum , 6
midnum . 256
midnum + 235
# midnum - 36
midnum / 256
midnum : 25
midnum = 2356

# endnum # 56-3456

prepunc " 236
postpunc " 356

prepunc ' 6-236
postpunc ' 356-3
postpunc '' 356
postpunc ''' 356-3-356

repeated *** 16-16-16

prepunc `` 236
prepunc ` 6-236


repeated --- 36-36-36

repeated ::: 25-25-25

repeated ~~~ 156-156-156
always \s-\s 36-36
always \s-\scom 36-36-14-135-134
always ... 3-3-3
always .\s.\s. 3-3-3 . . .

always \s­\s 36-36

# remove spaces after comma
noback context _","[$s.]$l ?

# special character sequences
literal :// URLs
literal www.

literal .com
literal .edu
literal .gov
literal .mil
literal .net
literal .org

literal .doc
literal .htm
literal .html
literal .tex
literal .txt

literal .gif
literal .jpg
literal .png
literal .wav

literal .tar
literal .zip
