%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/share/liblouisutdml/lbu_files/
Upload File :
Create Path :
Current File : //usr/share/liblouisutdml/lbu_files/nemeth.ctb

# liblouis: Nemeth Table for mathematics
#
#  Based on the Linux screenreader BRLTTY, copyright (C) 1999-2006 by
#  The BRLTTY Team
#
#  Copyright (C) 2004-2008 ViewPlus Technologies, Inc. www.viewplus.com
#  Copyright (C) 2004-2006 JJB Software, Inc. www.jjb-software.com
#  Expanded and modified by Norbert Márkus (hamilfonz at gmail dot com), Hungary, 2023.
#
#  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/>.

space \x001b 1b escape character for html back-translation
include loweredDigits6Dots.uti
include latinLetterDef6Dots.uti
include latinUppercaseComp6.uti
replace \x00AF \x2015
punctuation ( 12356
punctuation } 12456
punctuation ] 124567
punctuation ? 1456
punctuation : 156
punctuation ) 23456
punctuation ! 2346
punctuation { 246
punctuation [ 2467
punctuation ' 3
punctuation - 36
punctuation . 46
punctuation " 5
punctuation ; 56
punctuation , 6
sign & 12346
sign $ 1246
sign | 1256
sign \\ 12567
sign % 146
sign * 16
sign # 3456
punctuation ` 4
sign _ 456
sign ^ 457
sign @ 47
math = 123456
math < 126
math / 34
math > 345
math + 346
math ~ 45
punctuation : 456-25-0
punctuation ; 456-23-0

math \x2218 45-46-16-5 degrees sign (actually a composit sign, in Braille shown in superscript)

#Reversed the order of the two include lines below to give priority to the math character definitions
include nemethdefs.cti
include en-chardefs.cti All character definition opcodes
attribute spacetildedotfive \x0020\x00A0~\x0022
attribute rightbrace }
attribute mathdot \x00B7\x02D9\x22C5
attribute greekletter abgdez:?jklmnxoprstuf&yw3

math \x00a8 16-16 DIAERESIS (double dots) in math expressions
math \x2322 1246-1 FROWN (CONCAVE UPWARD ARC)
math \x2323 1246-3 SMILE (CONCAVE DOWNWARD ARC)

math \x0023 3456a pseudo hash mark for further processing

# Braille indicators
multind 56-6 letsign capsletter
capsletter 6
emphclass italic
emphclass underline
emphclass bold
begemph italic 46
endemph italic 46-46
begemph bold 456
endemph bold 456-456
begcomp 456-346
endcomp 456-156

# Letters are defined in en-chardefs
# punctuation

prepunc " 236
postpunc " 356
postpunc , 6
always \e0 5
always , 6-a
#always # 35-2345 print number sign before number
always # 3456a number sign (hashmark) in print - a temporary representation for further processing
decpoint . 46
hyphen - 36
postpunc . 456-256
endnum . 456-256
always . 256
always ! 12346 factorial
always < a-5-13-a
always = a-46-13-a
always > a-46-2-a
postpunc ? 456-236
#endnum % 4-356
always ~~ 4-156-5-4-156
always ~ 4-156
always & 456-12346
midnum * 4-16
always [ 4-12356
always ] 4-23456
always { 46-12356
always } 46-23456
always @ 4-1
always \\ 456-16
always | 1256
always $ 4-234
always \x2015 156 horizontal bar above accented centered
repeated \s 0
noback context ["\x25A1"]$d @1246-256-5
noback context ["\x25A0"]$d @1246-456-256-5
always \x00b0 45-46-16-5 #This is not a simple symbol. It contains a local superscript and a base-line suffix that may get removed if it is not needed
always \x00B1 346-36

# semantic character pairs
math \xf400 0
math \xf401 0
math \xf402 0
math \xf403 0
# Begin and end equation
# replace \xf32e
# replace \xf32f
grouping math \xf32e\xf32f 12e,15e
# Sub and superscript
math \xf320 56
replace \xf401\xf320
always \xf402\xf320 5
math \xf321 45
replace \xf401\xf321
always \xf402\xf321 5
# Underscript and overscript
math \xf322 146
always \xf401\xf322 5
always \xf402\xf322 12456
math \xf323 126
always \xf401\xf323 5
always \xf402\xf323 12456
# Fenced characters
always \xf401( 12356
always \xf402) 23456
always \xf401{ 246
always \xf402} 12456
# Expression groups
replace \xf326
replace \xf327
# Fractions
math \xf500 1456
math \xf501 34
math \xf502 456-34
math \xf503 3456
# Mixed Fractions
math \xf504 456-1456
math \xf505 34
math \xf506 456-34
math \xf507 456-3456
# Complex Fractions
math \xf508 6-1456
math \xf509 6-34
math \xf50a 6-456-34
math \xf50b 6-3456
# Roots
math \xf32a 345
always \xf403\xf32a 345
math \xf32b 12456
math \xf32c 126
# Matrices
replace \xf330
replace \xf331
math \xf332 4-6-12356
math \xf333 4-6-23456
replace \xf334
replace \xf335
# Protect against wrong use of prefixes
replace \xf400
replace \xf401
replace \xf402
replace \xf403

# Old LibLouisUTDML semantic character pairs
always ^, 6
always ^; 56
always ^: 156
always ^. 46
always ^! 2346
always ^" 5
always ^' 3
always ^( 12356
always ^) 23456
always ^- 36
always ^_ 456
always ^< 126
always ^= 123456
always ^> 345
always ^% 146
always ^+ 346
always ^~ 45
always ^` 4
always ^& 12346
always ^$ 1246
always ^? 1456
always ^{ 246
always ^} 12456
always ^# 3456
always ^| 1256
always ^/ 34
always ^* 16
repeated ^1 a
always ^ 456-126 #default the CARET character to its Nemeth Braille representation if it has not been consumed as a prefix in the lines above
always % 4-356 #default the actual percent sign to its Nemeth Braille representation if it has not been consumed earlier
# Function names and abbreviations
always acos 1-14-135-234-a
always antilog 1-1345-2345-24-123-135-1245-a
always arc 1-1235-14-a
always arccos 1-1235-14-14-135-234-a
always arg 1-1235-1245-a
always asin 1-234-24-1345-a
always atan 1-2345-1-1345-a
always colog 14-123-135-1245 #-a
always cos 14-135-234-a
always cosh 14-135-234-125-a
always cot 14-135-2345-a
always coth 14-135-2345-125-a
always covers 14-135-1236-15-1235-234-a
always csc 14-234-14-a
always csch 14-234-14-125-a
always erf 15-1235-124-a
always inf 24-1345-124-a
always ln 123-1345-a
always log 123-135-1245 #-a
always max 134-1-1346-a
always min 134-24-1345-a
always sec 234-15-14-a
always sech 234-15-14-125-a
always sin 234-24-1345-a
always sinh 234-24-1345-125-a
always tan 2345-1-1345-a
always tanh 2345-1-135-125-a
always vers 1236-15-1235-234-a
always sgn 234-1245-1345-a
always tg 2345-1245-a
always ctg 14-2345-1245-a
always lg 123-1245-a
always arcsin 1-1235-14-234-24-1345-a
always arctg 1-1235-14-2345-1245-a

# computer braille character sequences
compbrl :// URLs
compbrl www.
compbrl .com
compbrl .edu
compbrl .gov
compbrl .mil
compbrl .net
compbrl .org
compbrl .doc
compbrl .htm
compbrl .html
compbrl .tex
compbrl .txt
compbrl .gif
compbrl .jpg
compbrl .png
compbrl .wav
compbrl .tar
compbrl .zip

# multipass corrections

#Process print number sign (hash mark)
noback pass2 [@3456a]$d @46-3456-3456 #a digit following a print hash mark needs its own Braille number sign
noback pass2 @3456a @46-3456 #produce a hash mark symbol when not followed by a number
#Fix the context of the hollow dot for its uses as degrees sign or composit operator
noback pass2 @45[@45-46-16-5]@5 * #remove the nesting superscript in cases the degrees sign happens to be in the correct syntax
noback pass3 $d@45-46-16[@5]@6-124 @a #insert space before the F for Fahrenheit
noback pass3 $d@45-46-16[@5]@6-14 @a #insert space before the C for Celsius
noback pass2 $l[@45-46-16-5]$l @46-16 #composit sign between two functions like f ring g
# get rid of base-line ind. after subscripts
#Handle stand-alone subscripts
noback pass2 @1b-12-56[]$d1-5@5-1b-15 @3456
noback pass2 @1b-12-56[]$d1-5@5$s @3456
noback pass2 $s@56[]$d1-5@5-1b-15 @3456
noback pass2 $s@56[]$d1-5@5$s @3456

#handle prescribed subscripts
noback pass2 @1b-12-56$d1-5[@5]@45 ? #testing for a preceding letter won't work because the math start sign ends with letter b
noback pass2 @1b-12-56$d1-5[@5]@56 ?
noback pass2 @1b-12-56$d1-5[@5] @5
noback pass3 @1b-12-56$d1-5[@5] @5

#Preserve the subscript ind. and the base-line ind. if the subscript is not preceded by a letter
#but remove the base-line ind. if the subscript is either followed by a superscript or a subscript
#Remove the subscript prefix if it is preceded by a letter or a letter and prime(s).
#But after this numeric subscript, do not remove the base-line ind. if it is followed by a number
noback pass2 @123-135-1245-56$d1-5[@5] @a #following a numeric subscript, introduce a space required for the function abbreviation (log)
#If the function "log" has a subscript or superscript, find the indication of its end (\e0 or quotation mark" and replace it with a dot 5 followed by a space
noback context "log"["^;"] @56#11=1
noback context "log"["^~"] @45#11=1
noback context #11=1["\e0"] #11=0@5-a
noback context #11=1["\""] #11=0@5-a

#Handle when a letter has a prime or a double prime in superscript and something else in subscript (needs to be shown in reverse order in Nemeth)
noback context $l[]"^;"!$w1-100"~'^\"" #19=1@3
noback context $l[]"^;"!$w1-100"~\x2032^\"" #19=1@3
noback context $l[]"^;"!$w1-100"~''^\"" #18=1@3-3
noback context $l[]"^;"!$w1-100"~\"^\"" #18=1@3-3
noback context $l[]"^;"!$w1-100"~\x2033^\"" #18=1@3-3
noback context #19=1["^~'^\""] #19=0@5
noback context #19=1["^~\x2032^\""] #19=0@5
noback context #18=1["^~''^\""] #18=0@5
noback context #18=1["^~\"^\""] #18=0@5
noback context #18=1["^~\x2033^\""] #18=0@5
#Else replace \e0 with a dot 5 unconditionally
noback context "\e0" @5
noback pass2 $l@56$d1-5[@5]!$d ?
noback pass2 $l@3-56$d1-5[@5]!$d ?
noback pass2 $l@3-3-56$d1-5[@5]!$d ?
noback pass3 $l[@56]$d1-5 ?
noback pass3 $l@3[@56]$d1-5 ?
noback pass3 $l@3-3[@56]$d1-5 ?

#get rid of extra baseline inds.
noback pass4 @5-5 @5
noback pass2 @5-0 @0 
noback pass3 @5-0 @0
noback pass2 @5-a @a 
noback pass3 @5-a @a
noback pass2 @5-1b-15 @1b-15
noback pass3 @5-1b-15 @1b-15
# get rid of superscript ind. on prime sign
noback pass2 @45-3-5 @3
noback pass2 @45-3-3-5 @3-3
# Put 456 in mixed numbers
noback pass2 $d[]@1456 @456#1=1
noback pass2 #1=1[]@3456 @456#1=0 #
# Put number sign on numbers after spaces
noback pass2 @a[]$d @3456
noback pass2 [@a-0]$d @a-3456
noback pass2 @a-36[]$d @3456
noback pass2 [@a-0-36]$d @a-36-3456
noback pass2 @0[]$d @3456
noback pass2 @0-36[]$d @3456
noback pass2 @a-0 @a
noback pass2 @0-a @a
# fix anomaly with superscripts
noback pass2 @45-0-5 @45
noback pass2 @45-5 @45

#Handle bold prefix on English and Greek lower-case and capital letters
#noback pass2 @456-56-46 @456-46 #remove English letter sign from before Greek letters
noback pass2 @456-56-46-6[%greekletter] @456-46-6* #remove the unnecessary English letter sign
noback pass2 @456-56-46-4[%greekletter] @456-46-4* #remove the unnecessary English letter sign 
noback pass2 @456-56-46[%greekletter] @456-46* #remove the unnecessary English letter sign
noback pass2 @456-56-6$l * #English capital letter with bold prefix must remain unchanged
noback pass2 @456-56$l * #English lower-case letter must remain unchanged
noback pass2 @456-56 ? #Otherwise the prefix is removed

# Fix single letter and digit with overbar
#noback pass2 @5$l[@126-12456] @156
noback pass2 @5[$l]@126-156-12456 *@156 #English small letter
noback pass2 @5[@6$l]@126-156-12456 *@156 #English capital letter
noback pass2 @5[@456-56$l]@126-156-12456 *@156 #boldface English small letter
noback pass2 @5[@456-56-6$l]@126-156-12456 *@156 #boldface English capital letter
noback pass2 @5[@46%greekletter]@126-156-12456 *@156 #Greek small letter
noback pass2 @5[@46-4%greekletter]@126-156-12456 *@156 #Greek small letter math variant
noback pass2 @5[@46-6%greekletter]@126-156-12456 *@156 #Greek capital letter
noback pass2 @5-456-56[@46%greekletter]@126-156-12456 @456*@156 #boldface Greek small letter
noback pass2 @5-456-56[@46-4%greekletter]@126-156-12456 @456*@156 #boldface Greek small letter math variant
noback pass2 @5-456-56[@46-6%greekletter]@126-156-12456 @456*@156 #boldface Greek capital letter
noback pass2 @5[$d]@126-156-12456 *@156 #digit

# Fix single letter and digit with bar directly under
noback pass2 @5[$l]@146-156-12456 *@146-156 #English small letter
noback pass2 @5[@6$l]@146-156-12456 *@146-156 #English capital letter

noback pass2 @5[@456-56$l]@146-156-12456 *@146-156 #boldface English small letter
noback pass2 @5[@456-56-6$l]@146-156-12456 *@146-156 #boldface English capital letter
noback pass2 @5[@46%greekletter]@146-156-12456 *@146-156 #Greek small letter
noback pass2 @5[@46-4%greekletter]@146-156-12456 *@146-156 #Greek small letter math variant
noback pass2 @5[@46-6%greekletter]@146-156-12456 *@146-156 #Greek capital letter
noback pass2 @5-456-56[@46%greekletter]@146-156-12456 @456*@146-156 #boldface Greek small letter
noback pass2 @5-456-56[@46-4%greekletter]@146-156-12456 @456*@146-156 #boldface Greek small letter math variant
noback pass2 @5-456-56[@46-6%greekletter]@146-156-12456 @456*@146-156 #boldface Greek capital letter
noback pass2 @5[$d]@146-156-12456 *@146-156

#It is sufficient to indicate one dot above a series of digits if two or more consecutive digits each have a dot above
noback pass2 @5$d2-100@126[%mathdot2-100]@12456 @16
#Fix the appearance of double dots in overscript or underscript
noback pass2 @126[@456-256-456-256]@12456 @16-16
noback pass2 @146[@456-256-456-256]@12456 @16-16

noback pass2 @46-a @456-256
noback pass2 [@456-256]@5$d @46
# get rid of space for overscripts 
noback pass2 @126-a @126
noback pass2 @146-a @146
noback pass2 @0-146 @146
noback pass2 @a-146 @146
noback pass2 @a-12456 @12456
# fix complex fraction begin and end (not perfectly)
noback pass2 @1456-1456 @6-1456-1456
noback pass2 @3456-3456 @3456-6-3456

#Insert the missing space for "lim" after the termination of the "directly under" passage
noback context []"^\"lim^%"!$x1-100"}" #20=1
noback context #20=1["^}"] #20=0@12456-a
# Fix lim with overbar sign
noback pass2 @5-123-24-134-126-12456 @126-123-24-134
#Fix the modified right arrow: use the full form of the arrow and move its surrounding spaces outside the five-step modification structure
noback context ["^\"\x2192^<"] #21=1@a-5-1246-25-25-135-126 #when something is placed over the arrow
noback context ["^\"\x2192^%"] #21=1@a-5-1246-25-25-135-146 #when something is placed under the arrow
noback context #21=1["^}"] #21=0@12456-a #the space is moved beyond the termination of the modification
# Get rid of open paren before matrices
noback pass2 @12356-4-6-12356 @4-6-12356
noback pass2 @1256-4-6-12356 @4-6-12356
# take off baseline ind. comma space
noback pass2 [@5-6]!$l @6
noback pass2 @1b-12[]$d @3456 number sign before digit at beginning
noback pass2 @1b-12[]@5$d @3456
noback pass2 $s[]@5$d @3456
noback pass3 @1b-12[]$d @3456
noback pass2 @1b-12-36[]$d @3456 number sign before minus before digit at beginning
noback pass2 @1b-12-5-36[]$d @3456
noback pass2 @1b-12-36[]@5$d @3456
noback pass2 $s@5-36[]$d @3456
noback pass2 $s@36[]@5$d @3456
noback pass3 @1b-12-36[]$d @3456
noback pass2 [@12e]$d @3456
noback pass2 [@12e-36]$d @36-3456
noback pass2 [@12e-46]$d @3456-46
noback pass2 @12e ?
noback pass2 @15e ?
#Remove space from behind colon or semicolon when followed by other than a number
noback pass2 @456-25[@0]!$d ?
noback pass2 @456-23[@0]!$d ?
#Insert space between {} for the empty set
noback pass2 @46-12356[]@46-23456 @a
#Remove space between a grouping symbol and a horizontal ellipsis
noback pass2 @46-46-12356[@0]@3-3-3 ?
noback pass2 @46-12356[@0]@3-3-3 ?
noback pass2 @4-12356[@0]@3-3-3 ?
noback pass2 @12356[@0]@3-3-3 ?
noback pass2 @3-3-3[@0]@46-46-23456 ?
noback pass2 @3-3-3[@0]@46-23456 ?
noback pass2 @3-3-3[@0]@4-23456 ?
noback pass2 @3-3-3[@0]@23456 ?

#function names with superscript, remove the space from before the superscript prefix
noback pass2 @1-14-135-234[@a]@45 ? #acos
noback pass2 @1-1345-2345-24-123-135-1245[@a]@45 ? #antilog
noback pass2 @1-1235-14[@a]@45 ? #arc
noback pass2 @1-1235-14-14-135-234[@a]@45 ? #arccos
noback pass2 @1-1235-1245[@a]@45 ? #arg
noback pass2 @1-234-24-1345[@a]@45 ? #asin
noback pass2 @1-2345-1-1345[@a]@45 ? #atan
noback pass2 @14-135-123-135-1245[@a]@45 ? #colog
noback pass2 @14-135-234[@a]@45 ? #cos
noback pass2 @14-135-234-125[@a]@45 ? #cosh
noback pass2 @14-135-2345[@a]@45 ? #cot
noback pass2 @14-135-2345-125[@a]@45 ? #coth
noback pass2 @14-135-1236-15-1235-234[@a]@45 ? #covers
noback pass2 @14-234-14[@a]@45 ? #csc
noback pass2 @14-234-14-125[@a]@45 ? #csch
noback pass2 @15-1235-124[@a]@45 ? #erf
noback pass2 @24-1345-124[@a]@45 ? #inf
noback pass2 @123-1345[@a]@45 ? #ln
noback pass2 @123-135-1245[@a]@45 ? #log
noback pass2 @134-1-1346[@a]@45 ? #max
noback pass2 @134-24-1345[@a]@45 ? #min
noback pass2 @234-15-14[@a]@45 ? #sec
noback pass2 @234-15-14-125[@a]@45 ? #sech
noback pass2 @234-24-1345[@a]@45 ? #sin
noback pass2 @234-24-1345-125[@a]@45 ? #sinh
noback pass2 @2345-1-1345[@a]@45 ? #tan
noback pass2 @2345-1-1345-125[@a]@45 ? #tanh
noback pass2 @1236-15-1235-234[@a]@45 ? #vers
noback pass2 @234-1245-1345[@a]@45 ? #sgn
noback pass2 @123-1245[@a]@45 ? #lg
noback pass2 @2345-1245[@a]@45 ? #tg with superscript
noback pass2 @14-2345-1245[@a]@45 ? #ctg with superscript
noback pass2 @1-1235-14-234-24-1345[@a]@45 ? #arcsin with superscript
noback pass2 @1-1235-14-2345-1245[@a]@45 ? #arctg with superscript

noback pass4 [$s]$s ?

Zerion Mini Shell 1.0