blob: e9f923a410eb387391476af30b59a45ed1bb6030 [file] [log] [blame]
#
# Copyright (C) 2010, 2011 DocArch <http://www.docarch.be>.
#
# 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/>.
#
#-------------------------------------------------------------------------------
#
# Flemish Braille Math Code (a.k.a. Woluwe code)
# Created and maintained by Bert Frees <bertfrees@gmail.com>
# See also: « Handleiding Braillesymbolen Wiskunde »
# (Gilbert Notaert, Marc Suij en Emmanuel Vandekerkhove, G.on Woluwe, 1984)
#
# ----------------------------------------------------------------------------------------------
include wiskunde-chardefs.cti
include nl-chardefs.uti
include braille-patterns.cti
include litdigits6Dots.uti
numsign 3456
capsletter 46
begcapsword 45
midnum , 2
midnum . 3
repeated \x0020 0
repeated \x00A0 a
class uppergreek \x0391\x0392\x0393\x0394\x0395\x0396\x0397\x0398\x0399\x039A\x039B\x039C\x039D\x039E\x039F\x03A0\x03A1\x03A3\x03A4\x03A5\x03A6\x03A7\x03A8\x03A9
class lowergreek \x03B1\x03B2\x03B3\x03B4\x03B5\x03B6\x03B7\x03B8\x03B9\x03BA\x03BB\x03BC\x03BD\x03BE\x03BF\x03C0\x03C1\x03C2\x03C3\x03C4\x03C5\x03C6\x03C7\x03C8\x03C9\x03D5
class operationkeyspace \x002B\x002D\x002E\x003D\x007E\x00B1\x00D7\x00F7\x2190\x2191\x2192\x2193\x2194\x21D0\x21D2\x21D4\x2209\x220C\x2212\x2217\x2223\x2224\x2226\x2243\x2248\x2260\x2261\x2284\x2285\x2288\x2289\x22C5
class operationkey \x002F\x003C\x2215\x2216\x2225\x2227\x2228\x2229\x222A\x2264\x2282\x2283\x2286\x2287\x22A5\x22D5
class operationnokey \x003E\x00AF\x0302\x0303\x0304\x2191\x2193\x2208\x220B\x2265
# class relation
class digitletter abcdefghij
swapcd dropped 0123456789 356,2,23,25,256,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
exactdots @0
exactdots @123456
exactdots @1256
exactdots @1456
exactdots @23
exactdots @5
exactdots @56
# Overgang van functie naar letter
noback context "sin"["\es"]%uppergreek ?
noback context "cos"["\es"]%uppergreek ?
noback context "log"["\es"]%uppergreek ?
noback context "tan"["\es"]%uppergreek ?
noback context "tg"["\es"]%uppergreek ?
noback context "sin"["\es"]%lowergreek ?
noback context "cos"["\es"]%lowergreek ?
noback context "log"["\es"]%lowergreek ?
noback context "tan"["\es"]%lowergreek ?
noback context "tg"["\es"]%lowergreek ?
noback context "sin"["\es"]$l @6
noback context "cos"["\es"]$l @6
noback context "log"["\es"]$l @6
noback context "tan"["\es"]$l @6
noback context "tg"["\es"]$l @6
# Overgang tussen twee lettergedeeltes
noback context %uppergreek["\es"]$u @6
noback context %lowergreek["\es"]$u @6
noback context $l["\es"]%uppergreek ?
noback context $l["\es"]%lowergreek ?
noback context $l["\es"]$l ?
# Overgang tussen coefficient en lettergedeelte waarbij verwarring kan ontstaan
noback context $d["\es"]%digitletter @6
noback context $d[]%digitletter @6
# Niet-wiskundige tekst
noback context ["\et"]$p ?
noback context ["\et"] @0
# Wortelvormen
noback context ["\ev"] @146
# Lege exponenten en indices
noback context ["\ei\e^r\en\ex"] ?
noback context ["\ei\e^c\en\ex"] ?
noback context ["\ei\e^l\en\ex"] ?
noback context ["\ei\e_r\en\ex"] ?
noback context ["\ei\e_c\en\ex"] ?
noback context ["\ei\e_l\en\ex"] ?
noback context ["\en"] ?
# Gezakte cijfers, exponenten, indices & breuken
noback context "\ef\es"$d."\ed\es"[$d.]"\ex" %dropped # noemer van natuurlijke breuk in gezakte cijfers
noback context "\e^r\es"[$d.]"\ex" %dropped # natuurlijke exponenten en indices in gezakte cijfers
noback context "\e^c\es"[$d.]"\ex" %dropped
noback context "\e^l\es"[$d.]"\ex" %dropped
noback context "\e_r\es"[$d.]"\ex" %dropped
noback context "\e_c\es"[$d.]"\ex" %dropped
noback context "\e_l\es"[$d.]"\ex" %dropped
noback context ["\ei"]"\e^r\es"%operationkeyspace"\ex" ? # accenten, bewerkings- en relatietekens als index midden of rechts boven
noback context ["\ei"]"\e^r\es"%operationkey"\ex" ?
noback context ["\ei"]"\e^r\es"%operationnokey"\ex" ?
noback context ["\ei"]"\e^c\es"%operationkeyspace"\ex" ?
noback context ["\ei"]"\e^c\es"%operationkey"\ex" ?
noback context ["\ei"]"\e^c\es"%operationnokey"\ex" ?
noback context "\e^r\es"%operationkeyspace["\ex"] ? # verwijder sluiter
noback context "\e^r\es"%operationkey["\ex"] ?
noback context "\e^r\es"%operationnokey["\ex"] ?
noback context "\e^c\es"%operationkeyspace["\ex"] ?
noback context "\e^c\es"%operationkey["\ex"] ?
noback context "\e^c\es"%operationnokey["\ex"] ?
noback context "\es"[]%operationkeyspace @5 # sleutel voor bewerkingstekens
noback context "\es"[]%operationkey @5
noback context ["\ef"] @5@23 # begin van breuk
noback pass2 %upnum.[@1b-145-1b-234]%lownum. ? # verwijder breukstreep
noback pass3 [@1b-124-1b-234]%upnum.%lownum. @3456 # herstel cijferteken van teller
noback pass3 @1b-145 @1256 # breukstreep \ed
noback pass3 @1b-124 ? # \ef
noback pass3 @1b-234 ? # \es
noback pass3 @1b-24-1b-34-1235 @34 # \ei\e^r
noback pass3 @1b-24-1b-34-14 @456@34 # \ei\e^c
noback pass3 @1b-24-1b-34-123 @3456@34 # \ei\e^l
noback pass3 @1b-24-1b-456-1235 @16 # \ei\e_r
noback pass3 @1b-24-1b-456-14 @456@16 # \ei\e_c
noback pass3 @1b-24-1b-456-123 @3456@16 # \ei\e_l
noback pass3 @1b-24 ? # \ei
noback pass3 @1b-34-1235 @4 # \e^r
noback pass3 @1b-34-14 @45 # \e^c
noback pass3 %lownum.[@1b-1346] ? # verwijder sluiter na gezakte cijfers
noback pass4 @1b-1346 @156 # sluiter \ex