utf8.c: Speed up \X processing of Korean
authorKarl Williamson <public@khwilliamson.com>
Tue, 21 Aug 2012 15:30:08 +0000 (09:30 -0600)
committerKarl Williamson <public@khwilliamson.com>
Sun, 26 Aug 2012 05:21:28 +0000 (23:21 -0600)
commit41de4811adc75d5bdcab9665a1cc19816e43c703
tree279637f242c8c18cfedd96ea95d3c15dccc05235
parent9e7f4f43739b2597e193f775558f39082b8a213f
utf8.c: Speed up \X processing of Korean

\X matches according to a complicated pattern that is hard-coded in
regexec.c.  Part of that pattern involves checking if a code point is a
component of a Hangul Syllable or not.  For Korean code points, this
involves checking against multiple tables.  It turns out that two of
those tables are arranged so that the checks for them can be done via an
arithmetic expression; Unicode publishes algorithms for determining
various characteristics based on their very structured ordering.

This patch converts the routines that check these two tables to instead
use the arithmetic expression.
regexec.c
utf8.c