164 lines
4.0 KiB
Plaintext
164 lines
4.0 KiB
Plaintext
# liblouis: Marburg maths 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
|
|
#
|
|
# 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/>.
|
|
|
|
include marburg_single_cell_defs.cti
|
|
include marburg_unicode_defs.cti
|
|
# grouping definitions are character-definition rules
|
|
grouping mrow \x0001\x0002 1e,2e
|
|
grouping mfrac \x0003\x0004 3e,4e
|
|
grouping brackets \x0005\x0006 126,345
|
|
|
|
# Braille indicators
|
|
numsign 3456
|
|
capsletter 6
|
|
begcapsword 6-6
|
|
endcapsword 6-3
|
|
emphclass italic
|
|
emphclass underline
|
|
emphclass bold
|
|
emphletter italic 4
|
|
emphletter bold 4
|
|
|
|
# litdigit opcodes must be in this table, not the single-cell table.
|
|
include litdigits6Dots.uti
|
|
|
|
# No letsign but endnum for letters a-j.
|
|
endnum a 56-1
|
|
endnum b 56-12
|
|
endnum c 56-14
|
|
endnum d 56-145
|
|
endnum e 56-15
|
|
endnum f 56-124
|
|
endnum g 56-1245
|
|
endnum h 56-125
|
|
endnum i 56-24
|
|
endnum j 56-245
|
|
|
|
# Ordinary translation entries
|
|
always = a-56-2356
|
|
always + a-56-235
|
|
always > a-135-a
|
|
always < a-246-a
|
|
always % 25-1234
|
|
always $ 256
|
|
always & 4-12346
|
|
always ~ 45-156
|
|
always ! 6-236
|
|
prepunc " 236
|
|
postpunc " 356
|
|
postpunc ' 3
|
|
always '' 36
|
|
always ''' 36-3
|
|
midnum , 3
|
|
postpunc , 6-2
|
|
always , 3
|
|
always # 35-2345 print number sign before number
|
|
always ( 126
|
|
always ) 345
|
|
noback pass2 [{mrow]@126/@345}mrow ?
|
|
noback pass2 @126[{mrow]/}mrow@345 ?
|
|
decpoint . 2
|
|
always ... 3-3-3
|
|
hyphen - 36
|
|
postpunc . 6-256
|
|
postpunc ; 6-23
|
|
postpunc : 6-25
|
|
postpunc ? 6-236
|
|
endnum % 4-356
|
|
midnum * 4-16
|
|
repeated \s 0
|
|
repeated \x00a0 a
|
|
|
|
# swap opcodes for replacement and testing.
|
|
swapcd dropped 0123456789 356,2,23,25,456,26,235,2356,236,35
|
|
swapdd upnum 245,1,12,14,145,15,124,1245,125,24 0,0,0,0,0,0,0,0,0,0
|
|
swapdd lownum 356,2,23,25,256,26,235,2356,236,35 0,0,0,0,0,0,0,0,0,0
|
|
|
|
# now we start doing the real work
|
|
|
|
# Correction rules
|
|
noback correct {mrow$ld1-20[}mrow] ?
|
|
noback correct "\eb"[{mrow]/}mrow"\ee" ?
|
|
noback context "\eb"[]$l"\ee" @56
|
|
noback context "\eb"[]","$l"\ee" @56
|
|
noback context {mfrac$d1-10[]"@456-34"$d1-10}mfrac #1=1
|
|
# context []"@456-34"$d1-10}mfrac #1=1
|
|
noback context []"@346"$d1-10"@12456" #1=1
|
|
noback context []"@16"$d1-10"@12456" #1=1
|
|
# context []"@146"$d1-10 #1=1
|
|
noback context #1=1$d1-10 #1=0%dropped
|
|
|
|
# exactdots opcodes for dot patterns in ukmaths.sem
|
|
exactdots @126
|
|
exactdots @345
|
|
exactdots @123456
|
|
exactdots @346
|
|
exactdots @16
|
|
exactdots @23456
|
|
exactdots @34
|
|
exactdots @456-34
|
|
exactdots @12456
|
|
exactdots @146
|
|
|
|
# Function names and abbreviations
|
|
word cos 1246-14
|
|
word grad 1246-1245
|
|
word cosh 1246-125-14
|
|
word sinh 1246-125-234
|
|
word tanh 1246-125-2345
|
|
word cosech 1246-125-126
|
|
word coth 1246-125-1256
|
|
word sech 1246-125-36
|
|
word log 1246-123
|
|
word sin 1246-234
|
|
word tan 1246-2345
|
|
word cosec 1246-126
|
|
word curl 1246-146
|
|
word div 1246-1456
|
|
word cot 1246-1256
|
|
word arccosh 1246-236-14
|
|
word arcsinh 1246-236-234
|
|
word arctanh 1246-236-2345
|
|
word arccosech 1246-236-126
|
|
word arccoth 1246-236-1256
|
|
word arcsech 1246-236-36
|
|
word sec 1246-36
|
|
word arccos 1246-4-14
|
|
word antilog 1246-4-123
|
|
word arcsin 1246-4-234
|
|
word arctan 1246-4-2345
|
|
word arccosec 1246-4-126
|
|
word arccot 1246-4-1256
|
|
word arcsec 1246-4-25
|
|
word colog 1246-45-123
|
|
|
|
# pass2 processing
|
|
noback pass2 [@3456]%lownum1-10 ?
|
|
noback pass2 [@456-34-3456]%lownum1-10 ?
|
|
|
|
# pass3 processing
|
|
noback pass3 @346%lownum1-10[@12456] ?
|
|
noback pass3 @16[%lownum1-10]@12456 *
|
|
noback pass3 {mfrac[@3456%upnum1-10%lownum1-10]}mfrac *
|