[liblouis-liblouisxml] [liblouis/liblouis] 142f49: Fix memory leak, make code a bit more readable.

  • From: Davy Kager <davykager@xxxxxxxxxx>
  • To: liblouis-liblouisxml@xxxxxxxxxxxxx
  • Date: Wed, 10 Feb 2016 23:35:59 -0800

  Branch: refs/heads/emphclass_indirection
  Home:   https://github.com/liblouis/liblouis
  Commit: 142f49fe44a1d163a3b8c23af870fb28638610d2
      
https://github.com/liblouis/liblouis/commit/142f49fe44a1d163a3b8c23af870fb28638610d2
  Author: Davy Kager <davykager@xxxxxxxxxx>
  Date:   2016-02-02 (Tue, 02 Feb 2016)

  Changed paths:
    M liblouis/compileTranslationTable.c

  Log Message:
  -----------
  Fix memory leak, make code a bit more readable.


  Commit: 47f4c93e3771b483275d648a2d5e1b5d351486fd
      
https://github.com/liblouis/liblouis/commit/47f4c93e3771b483275d648a2d5e1b5d351486fd
  Author: Davy Kager <davykager@xxxxxxxxxx>
  Date:   2016-02-04 (Thu, 04 Feb 2016)

  Changed paths:
    M liblouis/compileTranslationTable.c
    M liblouis/lou_backTranslateString.c
    M liblouis/lou_translateString.c
    M liblouis/louis.h
    M tools/lou_debug.c

  Log Message:
  -----------
  Change how the emphasis opcodes (singleletteremph through lenemphphrase) are 
compiled: now they use compileBrailleIndicator() and compileNumber() directly.
This means that opcodes CTO_SingleLetterItal through CTO_LenTrans5Phrase can be 
removed. Their internal counterparts ending in *Rule are still needed.

Instead of many individual attributes the translation table structure now has 
one attribute emphRules which is a two-dimensional array indexed by:
1. the emphasis class (emph1Rule through emph10Rule) and
2. the position/type of emphasis (firstWordOffset through lenPhraseOffset).

Note that there is a discrepancy between the order of of the first three 
typeform bits and the order in which the corresponding types of emphasis are 
indicated in the output:
* The typeform bits are ordered italic < underline < bold.
* The indicators are applied (from left to right) as italic, bold, underline. 
So the underline indicator is closest to the word.
See: tests/yaml/en-ueb-09-typeforms.yaml

TODO:
* Simplify code contributed by the APH. In particular, pass the required 
emphasis class index to functions resolving/inserting emphasis, instead of 
passing the address of the first opcode for that class (FirstWord*) and using 
pointer arithmetic to find the other opcodes for that class.
* Also put the capitalization table attributes in their own array.
* Rename and reorder the internal opcode rules and associated code to reflect 
the new names suggested by Bert.
* Look at the regressions reported by `make check` for the new 
capitalization/emphasis code.


  Commit: 190c3717a32f5facc9e4d19e814495f7fdd035fe
      
https://github.com/liblouis/liblouis/commit/190c3717a32f5facc9e4d19e814495f7fdd035fe
  Author: Davy Kager <davykager@xxxxxxxxxx>
  Date:   2016-02-08 (Mon, 08 Feb 2016)

  Changed paths:
    M liblouis/compileTranslationTable.c
    M liblouis/louis.h
    M tables/da-dk-common6.uti
    M tables/da-dk-g18.utb
    M tables/de-g0-core.uti
    M tables/en-in-g1.ctb
    M tables/en-ueb-g1.ctb.bak
    M tables/en-us-g1.ctb
    M tables/en-us-g1.ctb.bak
    M tables/en-us-interline.ctb
    M tables/fi.utb
    M tables/fr-bfu-comp6.utb
    M tables/gr-bb.ctb
    M tables/hu-hu-g1.ctb
    M tables/ko-2006.cti
    M tables/ko.cti
    M tables/nl-BE-g1.ctb
    M tables/nl-BE-g1.ctb.bak
    M tables/nl-NL-g1.ctb
    M tables/nl-g0.utb
    M tables/nl-old-g0.utb
    M tables/no-no-g0.utb
    M tables/ru-litbrl.ctb
    M tables/sr-g1.ctb

  Log Message:
  -----------
  Rename emphasis opcodes:
* lastwordemphbefore --> endemphphrase <class> before
* lastwordemphafter --> endemphphrase <class> after
See: 
https://github.com/liblouis/liblouis/wiki/New-opcodes-for-UEB#mapping-from-new-to-old
TODO: should there be a dedicated opcode for this?


  Commit: c6927b1f1eeebb7fca3da3891072510f7228550e
      
https://github.com/liblouis/liblouis/commit/c6927b1f1eeebb7fca3da3891072510f7228550e
  Author: Davy Kager <davykager@xxxxxxxxxx>
  Date:   2016-02-08 (Mon, 08 Feb 2016)

  Changed paths:
    M liblouis/compileTranslationTable.c
    M tables/nl-g0.utb

  Log Message:
  -----------
  Fixup: rename lastwordcaps --> endcapsphrase.


  Commit: d70fd283c7d74dd72792ea263d5b2a283b98f16f
      
https://github.com/liblouis/liblouis/commit/d70fd283c7d74dd72792ea263d5b2a283b98f16f
  Author: Davy Kager <davykager@xxxxxxxxxx>
  Date:   2016-02-08 (Mon, 08 Feb 2016)

  Changed paths:
    M liblouis/lou_translateString.c

  Log Message:
  -----------
  These loop counter variables should never reach srcmax.


Compare: 
https://github.com/liblouis/liblouis/compare/142f49fe44a1^...d70fd283c7d7

Other related posts: