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