blob: 1f4e07856e289f274a2a9fb5bc03a408f75ecc33 [file] [log] [blame]
# See https://github.com/liblouis/liblouis/issues/500
# The reason the `=` operand works most of the time is the fact that
# most of the time, a given dot pattern will back-translate to its
# original characters if no rules tell the back-translator otherwise.
# It will not work when the "=" rule exists to circumvent another rule
# that would also affect back-translation, e.g. if a table contains
# the following rules:
# always ooo 135-135
# word foobar =
# The dot pattern 124-135-135-12-1-1235 will back-translate to fooobar
# as specified by the first rule.
# Not a very practical example, I admit, but it demonstrates the
# problem.
# I think the = operand is originally a good idea, because it is a
# clear way of saying that the string should be matched by the basic
# dot pattern. If it were to work also for back-translation, perhaps
# the = sign should be replaced internally by the corresponding dot
# pattern at compile time.
table: |
include tables/unicode.dis
punctuation ; 56
include tables/latinLetterDef6Dots.uti
uplow Óó 56-135,56-135
include tables/unicode-braille.utb
always ooo 135-135
word foobar =
word fóóbar =
tests:
- - foobar
- ⠋⠕⠕⠃⠁⠗
- ["fóóbar", "⠋⠰⠕⠰⠕⠃⠁⠗"]
flags: {testmode: backward}
tests:
-
- ⠋⠕⠕⠃⠁⠗
- foobar
- xfail: See https://github.com/liblouis/liblouis/issues/500