#+locale:fr
#+type:literary
#+contraction:no
#+dots:6
#+system:bfu

#-index-name: French, uncontracted
#-display-name: French uncontracted braille
#-author: Michel Such <michel.such@free.fr>
#-author: André-Abush CLAUSE <dev@andreabc.net>
#-author: Ludovic Oger <oger.ludovic@gmail.com>
#-author: Nicolas Pitre <nico@cam.org>
#-author: The BRLTTY Team <http://brltty.com/>
#-license: LGPLv2.1
#-updated: 2019-03-21

# liblouis: French 6 dots Braille table

#  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/>.

#	Référence :
#		Code braille français uniformisé | association Valentin Haüy - Révision 2008
#		http://www.avh.asso.fr/fr/tout-savoir-sur-le-braille/lecriture-braille/code-braille-francais-uniformise
#	Association Valentin Haüy
#		5, rue Duroc 75343 Paris Cedex 07

# Uncontracted French Table
# ---------------------------------

space \t 9 tab    # 9
space \x001B 1b   # escape
space \x00A0 a    # no-break space
include spaces.uti
space \x007f 0

undefined 0

display ¨ 46
display : 25
display " 2356
display ! 235
display - 36
display . 256
display / 34
display * 35
display | 456
display ¸ 456
display ¤ 45
display „ 56
display ^ 4
display \s 0
display @ 345
display ó 346

include latinLetterDef6Dots.uti

punctuation , 2    # virgule
punctuation ; 23   # point-virgule
punctuation : 25   # deux-points
punctuation . 256  # point
punctuation ? 26   # point d'interrogation
punctuation ! 235  # point d'exclamation
punctuation " 2356 # guillemet
punctuation ( 236  # parenthèse ouvrante
punctuation ) 356  # parenthèse fermante
punctuation ' 3    #  apostrophe
punctuation « 2356 # guillemet français ouvrant
punctuation » 2356 # guillemet français fermant
punctuation [ 45-236  # crochet droit ouvrant
comp6 [ 45-236
punctuation ] 356-12	#	crochet droit fermant
comp6 ] 356-12
punctuation { 6-6-236	#	accolade de gauche
punctuation } 356-3-3	#	accolade de droite

uplow \x00c7\x00e7  12346 # c cédille (Çç)
uplow \x00c6\x00E6 345     #*ae
uplow \x0152\x0153    246 # oe liés (Œœ)
uplow \x00C3\x00E3 5-26-1		a tilde
noback uplow \x00d1\x00f1 12456 # n tilde (Ññ)

uplow \x00c0\x00e0  12356 # a accent grave (Àà)
uplow \x00c8\x00e8   2346 # e accent grave (Èè)
uplow \x00d9\x00f9  23456 # u accent grave (Ùù)
noback uplow \x00cc\x00ec  34 # i accent grave (Ìì)
noback uplow \x00d2\x00f2 346 # o accent grave (Òò)

uplow \x00c2\x00e2     16 # a accent circonflexe (Ââ)
uplow \x00ca\x00ea    126 # e accent circonflexe (Êê)
uplow \x00ce\x00ee    146 # i accent circonflexe (Îî)
uplow \x00d4\x00f4   1456 # o accent circonflexe (Ôô)
uplow \x00db\x00fb    156 # u accent circonflexe (Ûû)

uplow \x00c1\x00e1  12356 # a accent aigu (Áá)
uplow \x00c9\x00e9 123456 # e accent aigu (Éé)
uplow \x00d3\x00f3    346 # o accent aigu (Óó)
uplow \x00da\x00fa  23456 # u accent aigu (Úú)
noback uplow \x00cd\x00ed 34 # i accent aigu (Íí)

uplow \x00c4\x00e4    345 # a tréma (Ää)
uplow \x00cb\x00eb   1246 # e tréma (Ëë)
uplow \x00cf\x00ef  12456 # i tréma (Ïï)
uplow \x00d6\x00f6    246 # o tréma (Öö)
uplow \x00dc\x00fc   1256 # u tréma (Üü)
uplow \x00C5\x00e5 5-1       #*latin capital letter a with ring above (unofficial)
uplow \x00d8\x00f8 56-246 # o barré (non officiel)

digit 0 3456
litdigit        0      3456
comp6 0 3456

include digits6DotsPlusDot6.uti
include litdigits6DotsPlusDot6.uti

math + 235  # plus
math - 36
math * 35   # astérisque
math / 34   # barre oblique
math = 2356 # égal
math ( 236
math ) 356

math \x00F7 25     # divisé par
math \x003c 5-126  # inférieur à
math \x003e 5-345  # supérieur à

# guillemets
punctuation \x00AB 2356     # right-pointing double angle quotation mark
punctuation \x00BB 2356     # left-pointing double angle quotation mark
punctuation \x2018 2356     # left single quotation mark
punctuation \x2019 2356     # right single quotation mark
punctuation \x201C 2356     # left double quotation mark
punctuation \x201D 2356     # right double quotation mark
sign \x201E 56     # double low-9 quotation mark
punctuation \x201F 2356     # double high-reversed-9 quotation mark
punctuation \x275B 2356     # heavy single turned comma quotation mark ornament
punctuation \x275C 2356     # heavy single comma quotation mark ornament
punctuation \x275D 2356     # heavy double turned comma quotation mark ornament
punctuation \x275E 2356     # heavy double comma quotation mark ornament
punctuation \x275F 2356     # heavy low single comma quotation mark ornament
punctuation \x2760 2356     # heavy low double comma quotation mark ornament

noback sign \x200e 0        # (left to right mark)
noback sign \x200f 0        # (right to left mark)
sign ¸ 456           # cédille

# tirets et traits d'union
punctuation - 36         # hyphen-minus
sign \x2010 36           # hyphen
sign \x2011 36           # non-breaking hyphen
sign \x2012 36           # figure dash
sign \x2013 36           # (en dash)
sign \x2014 36           # (em dash)
noback sign \x2015 36-36 # horizontal bar (quotation dash long dash introducing quoted text)
sign \xFE58 36           # small em dash
sign \xFE63 36           # small hyphen-minus
sign \xFF0D 36           # fullwidth hyphen-minus

word — 456-36
word – 36-36

sign \x2022 246-135      # (bullet)
sign \x2026 256-256-256  # 8230	MS Word smart ellipsis
sign \x25cf 35           # black circle
sign \xf0b7 1245         # (bullet MS symbol font?)

sign \\ 5-34         # barre oblique inversée
sign @ 345           # arobase
sign \x0023 5-3456   # croisillon
comp6 \x0023 5-3456  # # croisillon
sign \xFE5F 5-3456   # croisillon minuscule
sign \xFF03 5-3456   # croisillon pleine chasse
sign % 5-346         # pourcent
sign ‰ 5-346-346     # pour mille
sign * 5-35          # astérisque
sign _ 5-36          # souligné
noback sign ´ 5
sign \x0060 6   # accent aigu (`)
sign \x007C 456 # barre verticale
sign \x0083 124      # [latin small letter f with hook (no break here)
sign \x0084 56       # [double low-9 quotation mark (<control>)
sign \x0085 36       # [horizontal ellipsis (next line)
sign \x0086 356      # [dagger (start of selected area)
sign \x0087 3567     # [double dagger (end of selected area)
noback sign \x0088 4 # [modifier letter circumflex accent (character tabulation set)
sign \x0089 346      # [per mille sign (character tabulation with justification)
noback sign \x008B 5 # [single left-pointing angle quotation mark] (partial line down)
sign \x0095 1245     # [bullet] (message waiting)
noback sign \x0096 36-36      # [en dash] (start of guarded area)
noback sign \x0097 36-36      # [em dash] (end of guarded area)
sign \x0098 46     # [small tilde] (start of string)
sign \x0099 2345   # [trade mark sign] (<control>)
sign \x2122 5-2345 # TRADE MARK SIGN
noback sign \x009B 5 # [single right-pointing angle quotation mark] (control sequence introducer)
sign \x00A1 235      # inverted exclamation mark
noback sign \x00A6 45      # broken bar
sign \x00A8 46      # diaeresis
noback sign \x00AA 16      # feminine ordinal indicator
sign \x00AC 256       # not sign
noback sign \x00AD 0  # soft hyphen
sign \x00AE 5-1235  # registered sign
sign \x00B1 235-36  # plus-minus sign
sign \x00B5 45-134  # micro sign
sign \x00B6 456     # pilcrow sign
noback sign \x00B7 0       # middle dot
sign \x00BA 26      # masculine ordinal indicator

sign \x00BF 26      #*inverted question mark
sign \x00D0 12      # latin capital letter eth
sign \x00D7 5-35    # multiplication sign
sign \x00D8 3456    # latin capital letter o with stroke
sign \x00DE 245     # latin capital letter thorn
sign \x00DF 234     # latin small letter sharp s
uplow \x00c6\x00E6 345     #*ae
sign \x00F0 12      # latin small letter eth
sign \x00FE 245     # latin small letter thorn
sign © 5-14				  # copyright
sign ° 5-135			  # degré
sign & 5-123456		  # perluète (et commercial)
sign ¢ 45-14  		  # cent
sign € 45-15			  # euro
sign £ 45-123			  # livre
sign $ 45-234			  # dollar
comp6 $ 45-234
sign ¥ 45-13456		  # yen
sign ¤ 6-45					  # symbole monétaire
sign § 5-1234			  # paragraphe

sign ^ 4 # accent circonflexe
noback sign ¹ 4-16  # exposant 1
noback sign ² 4-126 # exposant 2
noback sign ³ 4-146 # exposant 3
sign ¼ 16-34-1456   # un quart
sign ½ 16-34-126    # un demi
sign ¾ 146-34-1456  # trois quarts
sign \x007E 5-26  # 126 ~    tilde

# unicode braille
include braille-patterns.cti

# other signs: 8 and 6 dots
include fr-bfu-comp68.cti
# with a few exceptions...
noback math \x00B1 235-36 ± plus ou moins
noback math \x00D7 35 × multiplié par
noback math \x2715 35 ✕ multiplié par
noback math \x00B7 35-35 · point multiplicatif ; produit scalaire
noback math \x00F7 25 ÷ divisé par

# Braille indicators
numsign 6             # number sign, just a dots operand
numericmodechars ^,:.+-*/()=[]
numericnocontchars 0123456789

# Capitalization
capsletter 46
begcapsword 46-46
endcapsword 6-3 # The first method is not compatible with liblouis, so use of the alternative method (official but less common)
capsmodechars -'./

# Capital 'phrase' possible but lot of issues with single letters: https://github.com/liblouis/liblouis/issues/706
# begcapsphrase 25-46
# endcapsphrase before 46
# lencapsphrase 4

# Emphasis
emphclass italic
emphclass underline
emphclass bold
begemphword italic 456
begemphword underline 456
begemphword bold 456
endemphword italic 6-3
endemphword underline 6-3
endemphword bold 6-3
begemphphrase italic 25-456
endemphphrase italic before 456
lenemphphrase italic 4
begemphphrase underline 25-456
endemphphrase underline before 456
lenemphphrase underline 4
begemphphrase bold 25-456
endemphphrase bold before 456
lenemphphrase bold 4
noemphchars italic ,\s
noemphchars underline ,\s
noemphchars bold ,\s

# WIP
# Remove space from punctuation
# noback correct "\x00A0»" "»"
# noback correct "«\x00A0" "«"
# noback correct "\s;" ";"
# noback correct "\s:" ":"
# noback correct "\s?" "?"
# noback correct "\s!" "!"

noback midword \x2019 3     # right single quotation mark
midnum \s 0						# espace entre les chiffres
midnum - 36
midnum + 235
endnum + 235
midnum = 2356
endnum = 2356
midnum / 34
endnum / 34
decpoint , 2

math [ 12356
math ] 23456
midnum [ 12356
endnum [ 12356
midnum ] 23456
endnum ] 23456
midnum ( 236
endnum ( 236
midnum ) 356
endnum ) 356

postpunc , 2
postpunc ; 23
postpunc : 25
postpunc . 256
postpunc ? 26
postpunc ! 235
prepunc « 2356	    # guillemet français ouvrant
postpunc » 2356	   # guillemet français fermant
prepunc ( 236      # parenthèse ouvrante
postpunc ) 356     # parenthèse fermante
prepunc [ 45-236  # crochet droit ouvrant
postpunc ] 356-12	#	crochet droit fermant
prepunc { 6-6-236	#	accolade de gauche
postpunc } 356-3-3	#	accolade de droite


repeated ... 256-256-256		#	points de suspension
repeated --- 36-36-36
repeated ___ 456-456-456

word = 6-2356
word + 6-235
begword + 6-235
begword = 6-2356
midword + 6-235
midword = 6-2356
endword + 6-235
endword = 6-2356

nofor pass2 [@6-235]$d @6-235-6
nofor pass2 [@6-2356]$d @6-2356-6
