UCD.pm: Remove reliance on UnicodeData.txt
authorKarl Williamson <public@khwilliamson.com>
Fri, 4 Mar 2011 01:33:18 +0000 (18:33 -0700)
committerKarl Williamson <public@khwilliamson.com>
Fri, 4 Mar 2011 02:26:17 +0000 (19:26 -0700)
commit05dbc6f80f8f2d5774f53874803f5a20450bbe82
treeadd277ddca3bddff4ea4ac1aa52d77ab6f069d2d
parent36c2430c54431c750134fb5add2327486301d66f
UCD.pm: Remove reliance on UnicodeData.txt

In doing so, there were a number of bug fixes made, as it now relies
on files processed by mktables, which has intelligence to fix a
number of problems with UnicodeData.txt.

This is essentially a rewrite of charinfo().  It previously had
hard-coded the ranges in UnicodeData.txt, instead of examining the file
to see what was there.  This had not been updated for some time, and was
out-of-date, with the result that the newer ranges (all CJK) were quite
wrong.  The new code does not have such reliance, and so new versions
of Unicode should not break this, like they previously would

This may be slower than what was previously there, as it reads several
smaller files instead of one very large one.  But the principal reason
to do this work was to save disk space.  It was previously thought that
the function could continue to use UnicodeData.txt if it exists on the
machine, but this would have required fixing all the bugs that this
automatically fixes by using the processed files.
lib/Unicode/UCD.pm
lib/Unicode/UCD.t
pod/perldelta.pod