"Fossies" - the Fresh Open Source Software Archive

Member "libisofs-1.5.4/libisofs/hfsplus_decompose.c" (8 Jul 2020, 30469 Bytes) of package /linux/misc/libisofs-1.5.4.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "hfsplus_decompose.c" see the Fossies "Dox" file reference documentation.

    1 /*
    2  * Copyright (c) 2012 Vladimir Serbinenko
    3  * Copyright (c) 2012 Thomas Schmitt
    4  * 
    5  * This file is part of the libisofs project; you can redistribute it and/or
    6  * modify it under the terms of the GNU General Public License version 2
    7  * or later as published by the Free Software Foundation.
    8  * See COPYING file for details.
    9  */
   10 
   11 #ifdef HAVE_CONFIG_H
   12 #include "../config.h"
   13 #endif
   14 
   15 #include <string.h>
   16 
   17 #include "hfsplus.h"
   18 
   19 /*
   20   Based on tn1150 (HFS+ format specification)
   21 */
   22 
   23 
   24 /* This encodes a matrix of page and character, with a number of
   25    HFSPLUS_MAX_DECOMPOSE_LEN + 1 elements of 16 bit each.
   26    Initially the matrix is filled with zeros.
   27    1: The first element is the page number.
   28       If it is equal or lower than the previous one, then the matrix is done.
   29    2: The next element is the character number
   30       If it is  equal or lower than the previous one, the page is done. Goto 1.
   31    3: The next elements are matrix elements.
   32       If element 0 is encountered, then the character is done. Goto 2.
   33 */
   34 
   35 static const uint16_t decompose_page_data[] = {
   36 
   37   /* page00 */
   38   0x00,
   39   0xc0, 0x0041, 0x0300, 0,
   40   0xc1, 0x0041, 0x0301, 0,
   41   0xc2, 0x0041, 0x0302, 0,
   42   0xc3, 0x0041, 0x0303, 0,
   43   0xc4, 0x0041, 0x0308, 0,
   44   0xc5, 0x0041, 0x030A, 0,
   45   0xc7, 0x0043, 0x0327, 0,
   46   0xc8, 0x0045, 0x0300, 0,
   47   0xc9, 0x0045, 0x0301, 0,
   48   0xca, 0x0045, 0x0302, 0,
   49   0xcb, 0x0045, 0x0308, 0,
   50   0xcc, 0x0049, 0x0300, 0,
   51   0xcd, 0x0049, 0x0301, 0,
   52   0xce, 0x0049, 0x0302, 0,
   53   0xcf, 0x0049, 0x0308, 0,
   54   0xd1, 0x004E, 0x0303, 0,
   55   0xd2, 0x004F, 0x0300, 0,
   56   0xd3, 0x004F, 0x0301, 0,
   57   0xd4, 0x004F, 0x0302, 0,
   58   0xd5, 0x004F, 0x0303, 0,
   59   0xd6, 0x004F, 0x0308, 0,
   60   0xd9, 0x0055, 0x0300, 0,
   61   0xda, 0x0055, 0x0301, 0,
   62   0xdb, 0x0055, 0x0302, 0,
   63   0xdc, 0x0055, 0x0308, 0,
   64   0xdd, 0x0059, 0x0301, 0,
   65   0xe0, 0x0061, 0x0300, 0,
   66   0xe1, 0x0061, 0x0301, 0,
   67   0xe2, 0x0061, 0x0302, 0,
   68   0xe3, 0x0061, 0x0303, 0,
   69   0xe4, 0x0061, 0x0308, 0,
   70   0xe5, 0x0061, 0x030A, 0,
   71   0xe7, 0x0063, 0x0327, 0,
   72   0xe8, 0x0065, 0x0300, 0,
   73   0xe9, 0x0065, 0x0301, 0,
   74   0xea, 0x0065, 0x0302, 0,
   75   0xeb, 0x0065, 0x0308, 0,
   76   0xec, 0x0069, 0x0300, 0,
   77   0xed, 0x0069, 0x0301, 0,
   78   0xee, 0x0069, 0x0302, 0,
   79   0xef, 0x0069, 0x0308, 0,
   80   0xf1, 0x006E, 0x0303, 0,
   81   0xf2, 0x006F, 0x0300, 0,
   82   0xf3, 0x006F, 0x0301, 0,
   83   0xf4, 0x006F, 0x0302, 0,
   84   0xf5, 0x006F, 0x0303, 0,
   85   0xf6, 0x006F, 0x0308, 0,
   86   0xf9, 0x0075, 0x0300, 0,
   87   0xfa, 0x0075, 0x0301, 0,
   88   0xfb, 0x0075, 0x0302, 0,
   89   0xfc, 0x0075, 0x0308, 0,
   90   0xfd, 0x0079, 0x0301, 0,
   91   0xff, 0x0079, 0x0308, 0,
   92   0x00,
   93 
   94   /* page01 */
   95   0x01,
   96   0x00, 0x0041, 0x0304, 0,
   97   0x01, 0x0061, 0x0304, 0,
   98   0x02, 0x0041, 0x0306, 0,
   99   0x03, 0x0061, 0x0306, 0,
  100   0x04, 0x0041, 0x0328, 0,
  101   0x05, 0x0061, 0x0328, 0,
  102   0x06, 0x0043, 0x0301, 0,
  103   0x07, 0x0063, 0x0301, 0,
  104   0x08, 0x0043, 0x0302, 0,
  105   0x09, 0x0063, 0x0302, 0,
  106   0x0a, 0x0043, 0x0307, 0,
  107   0x0b, 0x0063, 0x0307, 0,
  108   0x0c, 0x0043, 0x030C, 0,
  109   0x0d, 0x0063, 0x030C, 0,
  110   0x0e, 0x0044, 0x030C, 0,
  111   0x0f, 0x0064, 0x030C, 0,
  112   0x12, 0x0045, 0x0304, 0,
  113   0x13, 0x0065, 0x0304, 0,
  114   0x14, 0x0045, 0x0306, 0,
  115   0x15, 0x0065, 0x0306, 0,
  116   0x16, 0x0045, 0x0307, 0,
  117   0x17, 0x0065, 0x0307, 0,
  118   0x18, 0x0045, 0x0328, 0,
  119   0x19, 0x0065, 0x0328, 0,
  120   0x1a, 0x0045, 0x030C, 0,
  121   0x1b, 0x0065, 0x030C, 0,
  122   0x1c, 0x0047, 0x0302, 0,
  123   0x1d, 0x0067, 0x0302, 0,
  124   0x1e, 0x0047, 0x0306, 0,
  125   0x1f, 0x0067, 0x0306, 0,
  126   0x20, 0x0047, 0x0307, 0,
  127   0x21, 0x0067, 0x0307, 0,
  128   0x22, 0x0047, 0x0327, 0,
  129   0x23, 0x0067, 0x0327, 0,
  130   0x24, 0x0048, 0x0302, 0,
  131   0x25, 0x0068, 0x0302, 0,
  132   0x28, 0x0049, 0x0303, 0,
  133   0x29, 0x0069, 0x0303, 0,
  134   0x2a, 0x0049, 0x0304, 0,
  135   0x2b, 0x0069, 0x0304, 0,
  136   0x2c, 0x0049, 0x0306, 0,
  137   0x2d, 0x0069, 0x0306, 0,
  138   0x2e, 0x0049, 0x0328, 0,
  139   0x2f, 0x0069, 0x0328, 0,
  140   0x30, 0x0049, 0x0307, 0,
  141   0x34, 0x004A, 0x0302, 0,
  142   0x35, 0x006A, 0x0302, 0,
  143   0x36, 0x004B, 0x0327, 0,
  144   0x37, 0x006B, 0x0327, 0,
  145   0x39, 0x004C, 0x0301, 0,
  146   0x3a, 0x006C, 0x0301, 0,
  147   0x3b, 0x004C, 0x0327, 0,
  148   0x3c, 0x006C, 0x0327, 0,
  149   0x3d, 0x004C, 0x030C, 0,
  150   0x3e, 0x006C, 0x030C, 0,
  151   0x43, 0x004E, 0x0301, 0,
  152   0x44, 0x006E, 0x0301, 0,
  153   0x45, 0x004E, 0x0327, 0,
  154   0x46, 0x006E, 0x0327, 0,
  155   0x47, 0x004E, 0x030C, 0,
  156   0x48, 0x006E, 0x030C, 0,
  157   0x4c, 0x004F, 0x0304, 0,
  158   0x4d, 0x006F, 0x0304, 0,
  159   0x4e, 0x004F, 0x0306, 0,
  160   0x4f, 0x006F, 0x0306, 0,
  161   0x50, 0x004F, 0x030B, 0,
  162   0x51, 0x006F, 0x030B, 0,
  163   0x54, 0x0052, 0x0301, 0,
  164   0x55, 0x0072, 0x0301, 0,
  165   0x56, 0x0052, 0x0327, 0,
  166   0x57, 0x0072, 0x0327, 0,
  167   0x58, 0x0052, 0x030C, 0,
  168   0x59, 0x0072, 0x030C, 0,
  169   0x5a, 0x0053, 0x0301, 0,
  170   0x5b, 0x0073, 0x0301, 0,
  171   0x5c, 0x0053, 0x0302, 0,
  172   0x5d, 0x0073, 0x0302, 0,
  173   0x5e, 0x0053, 0x0327, 0,
  174   0x5f, 0x0073, 0x0327, 0,
  175   0x60, 0x0053, 0x030C, 0,
  176   0x61, 0x0073, 0x030C, 0,
  177   0x62, 0x0054, 0x0327, 0,
  178   0x63, 0x0074, 0x0327, 0,
  179   0x64, 0x0054, 0x030C, 0,
  180   0x65, 0x0074, 0x030C, 0,
  181   0x68, 0x0055, 0x0303, 0,
  182   0x69, 0x0075, 0x0303, 0,
  183   0x6a, 0x0055, 0x0304, 0,
  184   0x6b, 0x0075, 0x0304, 0,
  185   0x6c, 0x0055, 0x0306, 0,
  186   0x6d, 0x0075, 0x0306, 0,
  187   0x6e, 0x0055, 0x030A, 0,
  188   0x6f, 0x0075, 0x030A, 0,
  189   0x70, 0x0055, 0x030B, 0,
  190   0x71, 0x0075, 0x030B, 0,
  191   0x72, 0x0055, 0x0328, 0,
  192   0x73, 0x0075, 0x0328, 0,
  193   0x74, 0x0057, 0x0302, 0,
  194   0x75, 0x0077, 0x0302, 0,
  195   0x76, 0x0059, 0x0302, 0,
  196   0x77, 0x0079, 0x0302, 0,
  197   0x78, 0x0059, 0x0308, 0,
  198   0x79, 0x005A, 0x0301, 0,
  199   0x7a, 0x007A, 0x0301, 0,
  200   0x7b, 0x005A, 0x0307, 0,
  201   0x7c, 0x007A, 0x0307, 0,
  202   0x7d, 0x005A, 0x030C, 0,
  203   0x7e, 0x007A, 0x030C, 0,
  204   0xa0, 0x004F, 0x031B, 0,
  205   0xa1, 0x006F, 0x031B, 0,
  206   0xaf, 0x0055, 0x031B, 0,
  207   0xb0, 0x0075, 0x031B, 0,
  208   0xcd, 0x0041, 0x030C, 0,
  209   0xce, 0x0061, 0x030C, 0,
  210   0xcf, 0x0049, 0x030C, 0,
  211   0xd0, 0x0069, 0x030C, 0,
  212   0xd1, 0x004F, 0x030C, 0,
  213   0xd2, 0x006F, 0x030C, 0,
  214   0xd3, 0x0055, 0x030C, 0,
  215   0xd4, 0x0075, 0x030C, 0,
  216   0xd5, 0x0055, 0x0308, 0x0304, 0,
  217   0xd6, 0x0075, 0x0308, 0x0304, 0,
  218   0xd7, 0x0055, 0x0308, 0x0301, 0,
  219   0xd8, 0x0075, 0x0308, 0x0301, 0,
  220   0xd9, 0x0055, 0x0308, 0x030C, 0,
  221   0xda, 0x0075, 0x0308, 0x030C, 0,
  222   0xdb, 0x0055, 0x0308, 0x0300, 0,
  223   0xdc, 0x0075, 0x0308, 0x0300, 0,
  224   0xde, 0x0041, 0x0308, 0x0304, 0,
  225   0xdf, 0x0061, 0x0308, 0x0304, 0,
  226   0xe0, 0x0041, 0x0307, 0x0304, 0,
  227   0xe1, 0x0061, 0x0307, 0x0304, 0,
  228   0xe2, 0x00C6, 0x0304, 0,
  229   0xe3, 0x00E6, 0x0304, 0,
  230   0xe6, 0x0047, 0x030C, 0,
  231   0xe7, 0x0067, 0x030C, 0,
  232   0xe8, 0x004B, 0x030C, 0,
  233   0xe9, 0x006B, 0x030C, 0,
  234   0xea, 0x004F, 0x0328, 0,
  235   0xeb, 0x006F, 0x0328, 0,
  236   0xec, 0x004F, 0x0328, 0x0304, 0,
  237   0xed, 0x006F, 0x0328, 0x0304, 0,
  238   0xee, 0x01B7, 0x030C, 0,
  239   0xef, 0x0292, 0x030C, 0,
  240   0xf0, 0x006A, 0x030C, 0,
  241   0xf4, 0x0047, 0x0301, 0,
  242   0xf5, 0x0067, 0x0301, 0,
  243   0xfa, 0x0041, 0x030A, 0x0301, 0,
  244   0xfb, 0x0061, 0x030A, 0x0301, 0,
  245   0xfc, 0x00C6, 0x0301, 0,
  246   0xfd, 0x00E6, 0x0301, 0,
  247   0xfe, 0x00D8, 0x0301, 0,
  248   0xff, 0x00F8, 0x0301, 0,
  249   0x00,
  250 
  251   /* page02 */
  252   0x02,
  253   0x00, 0x0041, 0x030F, 0,
  254   0x01, 0x0061, 0x030F, 0,
  255   0x02, 0x0041, 0x0311, 0,
  256   0x03, 0x0061, 0x0311, 0,
  257   0x04, 0x0045, 0x030F, 0,
  258   0x05, 0x0065, 0x030F, 0,
  259   0x06, 0x0045, 0x0311, 0,
  260   0x07, 0x0065, 0x0311, 0,
  261   0x08, 0x0049, 0x030F, 0,
  262   0x09, 0x0069, 0x030F, 0,
  263   0x0a, 0x0049, 0x0311, 0,
  264   0x0b, 0x0069, 0x0311, 0,
  265   0x0c, 0x004F, 0x030F, 0,
  266   0x0d, 0x006F, 0x030F, 0,
  267   0x0e, 0x004F, 0x0311, 0,
  268   0x0f, 0x006F, 0x0311, 0,
  269   0x10, 0x0052, 0x030F, 0,
  270   0x11, 0x0072, 0x030F, 0,
  271   0x12, 0x0052, 0x0311, 0,
  272   0x13, 0x0072, 0x0311, 0,
  273   0x14, 0x0055, 0x030F, 0,
  274   0x15, 0x0075, 0x030F, 0,
  275   0x16, 0x0055, 0x0311, 0,
  276   0x17, 0x0075, 0x0311, 0,
  277   0x00,
  278 
  279   /* page03 */
  280   0x03,
  281   0x10, 0x0306, 0x0307, 0,
  282   0x40, 0x0300, 0,
  283   0x41, 0x0301, 0,
  284   0x43, 0x0313, 0,
  285   0x44, 0x0308, 0x030D, 0,
  286   0x74, 0x02B9, 0,
  287   0x7e, 0x003B, 0,
  288   0x85, 0x00A8, 0x030D, 0,
  289   0x86, 0x0391, 0x030D, 0,
  290   0x87, 0x00B7, 0,
  291   0x88, 0x0395, 0x030D, 0,
  292   0x89, 0x0397, 0x030D, 0,
  293   0x8a, 0x0399, 0x030D, 0,
  294   0x8c, 0x039F, 0x030D, 0,
  295   0x8e, 0x03A5, 0x030D, 0,
  296   0x8f, 0x03A9, 0x030D, 0,
  297   0x90, 0x03B9, 0x0308, 0x030D, 0,
  298   0xaa, 0x0399, 0x0308, 0,
  299   0xab, 0x03A5, 0x0308, 0,
  300   0xac, 0x03B1, 0x030D, 0,
  301   0xad, 0x03B5, 0x030D, 0,
  302   0xae, 0x03B7, 0x030D, 0,
  303   0xaf, 0x03B9, 0x030D, 0,
  304   0xb0, 0x03C5, 0x0308, 0x030D, 0,
  305   0xca, 0x03B9, 0x0308, 0,
  306   0xcb, 0x03C5, 0x0308, 0,
  307   0xcc, 0x03BF, 0x030D, 0,
  308   0xcd, 0x03C5, 0x030D, 0,
  309   0xce, 0x03C9, 0x030D, 0,
  310   0xd3, 0x03D2, 0x030D, 0,
  311   0xd4, 0x03D2, 0x0308, 0,
  312   0x00,
  313 
  314   /* page04 */
  315   0x04,
  316   0x01, 0x0415, 0x0308, 0,
  317   0x03, 0x0413, 0x0301, 0,
  318   0x07, 0x0406, 0x0308, 0,
  319   0x0c, 0x041A, 0x0301, 0,
  320   0x0e, 0x0423, 0x0306, 0,
  321   0x19, 0x0418, 0x0306, 0,
  322   0x39, 0x0438, 0x0306, 0,
  323   0x51, 0x0435, 0x0308, 0,
  324   0x53, 0x0433, 0x0301, 0,
  325   0x57, 0x0456, 0x0308, 0,
  326   0x5c, 0x043A, 0x0301, 0,
  327   0x5e, 0x0443, 0x0306, 0,
  328   0x76, 0x0474, 0x030F, 0,
  329   0x77, 0x0475, 0x030F, 0,
  330   0xc1, 0x0416, 0x0306, 0,
  331   0xc2, 0x0436, 0x0306, 0,
  332   0xd0, 0x0410, 0x0306, 0,
  333   0xd1, 0x0430, 0x0306, 0,
  334   0xd2, 0x0410, 0x0308, 0,
  335   0xd3, 0x0430, 0x0308, 0,
  336   0xd4, 0x00C6, 0,
  337   0xd5, 0x00E6, 0,
  338   0xd6, 0x0415, 0x0306, 0,
  339   0xd7, 0x0435, 0x0306, 0,
  340   0xd8, 0x018F, 0,
  341   0xd9, 0x0259, 0,
  342   0xda, 0x018F, 0x0308, 0,
  343   0xdb, 0x0259, 0x0308, 0,
  344   0xdc, 0x0416, 0x0308, 0,
  345   0xdd, 0x0436, 0x0308, 0,
  346   0xde, 0x0417, 0x0308, 0,
  347   0xdf, 0x0437, 0x0308, 0,
  348   0xe0, 0x01B7, 0,
  349   0xe1, 0x0292, 0,
  350   0xe2, 0x0418, 0x0304, 0,
  351   0xe3, 0x0438, 0x0304, 0,
  352   0xe4, 0x0418, 0x0308, 0,
  353   0xe5, 0x0438, 0x0308, 0,
  354   0xe6, 0x041E, 0x0308, 0,
  355   0xe7, 0x043E, 0x0308, 0,
  356   0xe8, 0x019F, 0,
  357   0xe9, 0x0275, 0,
  358   0xea, 0x019F, 0x0308, 0,
  359   0xeb, 0x0275, 0x0308, 0,
  360   0xee, 0x0423, 0x0304, 0,
  361   0xef, 0x0443, 0x0304, 0,
  362   0xf0, 0x0423, 0x0308, 0,
  363   0xf1, 0x0443, 0x0308, 0,
  364   0xf2, 0x0423, 0x030B, 0,
  365   0xf3, 0x0443, 0x030B, 0,
  366   0xf4, 0x0427, 0x0308, 0,
  367   0xf5, 0x0447, 0x0308, 0,
  368   0xf8, 0x042B, 0x0308, 0,
  369   0xf9, 0x044B, 0x0308, 0,
  370   0x00,
  371 
  372   /* page09 */
  373   0x09,
  374   0x29, 0x0928, 0x093C, 0,
  375   0x31, 0x0930, 0x093C, 0,
  376   0x34, 0x0933, 0x093C, 0,
  377   0x58, 0x0915, 0x093C, 0,
  378   0x59, 0x0916, 0x093C, 0,
  379   0x5a, 0x0917, 0x093C, 0,
  380   0x5b, 0x091C, 0x093C, 0,
  381   0x5c, 0x0921, 0x093C, 0,
  382   0x5d, 0x0922, 0x093C, 0,
  383   0x5e, 0x092B, 0x093C, 0,
  384   0x5f, 0x092F, 0x093C, 0,
  385   0xb0, 0x09AC, 0x09BC, 0,
  386   0xcb, 0x09C7, 0x09BE, 0,
  387   0xcc, 0x09C7, 0x09D7, 0,
  388   0xdc, 0x09A1, 0x09BC, 0,
  389   0xdd, 0x09A2, 0x09BC, 0,
  390   0xdf, 0x09AF, 0x09BC, 0,
  391   0x00,
  392 
  393   /* page0a */
  394   0x0a,
  395   0x59, 0x0A16, 0x0A3C, 0,
  396   0x5a, 0x0A17, 0x0A3C, 0,
  397   0x5b, 0x0A1C, 0x0A3C, 0,
  398   0x5c, 0x0A21, 0x0A3C, 0,
  399   0x5e, 0x0A2B, 0x0A3C, 0,
  400   0x00,
  401 
  402   /* page0b */
  403   0x0b,
  404   0x48, 0x0B47, 0x0B56, 0,
  405   0x4b, 0x0B47, 0x0B3E, 0,
  406   0x4c, 0x0B47, 0x0B57, 0,
  407   0x5c, 0x0B21, 0x0B3C, 0,
  408   0x5d, 0x0B22, 0x0B3C, 0,
  409   0x5f, 0x0B2F, 0x0B3C, 0,
  410   0x94, 0x0B92, 0x0BD7, 0,
  411   0xca, 0x0BC6, 0x0BBE, 0,
  412   0xcb, 0x0BC7, 0x0BBE, 0,
  413   0xcc, 0x0BC6, 0x0BD7, 0,
  414   0x00,
  415 
  416   /* page0c */
  417   0x0c,
  418   0x48, 0x0C46, 0x0C56, 0,
  419   0xc0, 0x0CBF, 0x0CD5, 0,
  420   0xc7, 0x0CC6, 0x0CD5, 0,
  421   0xc8, 0x0CC6, 0x0CD6, 0,
  422   0xca, 0x0CC6, 0x0CC2, 0,
  423   0xcb, 0x0CC6, 0x0CC2, 0x0CD5, 0,
  424   0x00,
  425 
  426   /* page0d */
  427   0x0d,
  428   0x4a, 0x0D46, 0x0D3E, 0,
  429   0x4b, 0x0D47, 0x0D3E, 0,
  430   0x4c, 0x0D46, 0x0D57, 0,
  431   0x00,
  432 
  433   /* page0e */
  434   0x0e,
  435   0x33, 0x0E4D, 0x0E32, 0,
  436   0xb3, 0x0ECD, 0x0EB2, 0,
  437   0x00,
  438 
  439   /* page0f */
  440   0x0f,
  441   0x43, 0x0F42, 0x0FB7, 0,
  442   0x4d, 0x0F4C, 0x0FB7, 0,
  443   0x52, 0x0F51, 0x0FB7, 0,
  444   0x57, 0x0F56, 0x0FB7, 0,
  445   0x5c, 0x0F5B, 0x0FB7, 0,
  446   0x69, 0x0F40, 0x0FB5, 0,
  447   0x73, 0x0F72, 0x0F71, 0,
  448   0x75, 0x0F74, 0x0F71, 0,
  449   0x76, 0x0FB2, 0x0F80, 0,
  450   0x77, 0x0FB2, 0x0F80, 0x0F71, 0,
  451   0x78, 0x0FB3, 0x0F80, 0,
  452   0x79, 0x0FB3, 0x0F80, 0x0F71, 0,
  453   0x81, 0x0F80, 0x0F71, 0,
  454   0x93, 0x0F92, 0x0FB7, 0,
  455   0x9d, 0x0F9C, 0x0FB7, 0,
  456   0xa2, 0x0FA1, 0x0FB7, 0,
  457   0xa7, 0x0FA6, 0x0FB7, 0,
  458   0xac, 0x0FAB, 0x0FB7, 0,
  459   0xb9, 0x0F90, 0x0FB5, 0,
  460   0x00,
  461 
  462   /* page1e */
  463   0x1e,
  464   0x00, 0x0041, 0x0325, 0,
  465   0x01, 0x0061, 0x0325, 0,
  466   0x02, 0x0042, 0x0307, 0,
  467   0x03, 0x0062, 0x0307, 0,
  468   0x04, 0x0042, 0x0323, 0,
  469   0x05, 0x0062, 0x0323, 0,
  470   0x06, 0x0042, 0x0331, 0,
  471   0x07, 0x0062, 0x0331, 0,
  472   0x08, 0x0043, 0x0327, 0x0301, 0,
  473   0x09, 0x0063, 0x0327, 0x0301, 0,
  474   0x0a, 0x0044, 0x0307, 0,
  475   0x0b, 0x0064, 0x0307, 0,
  476   0x0c, 0x0044, 0x0323, 0,
  477   0x0d, 0x0064, 0x0323, 0,
  478   0x0e, 0x0044, 0x0331, 0,
  479   0x0f, 0x0064, 0x0331, 0,
  480   0x10, 0x0044, 0x0327, 0,
  481   0x11, 0x0064, 0x0327, 0,
  482   0x12, 0x0044, 0x032D, 0,
  483   0x13, 0x0064, 0x032D, 0,
  484   0x14, 0x0045, 0x0304, 0x0300, 0,
  485   0x15, 0x0065, 0x0304, 0x0300, 0,
  486   0x16, 0x0045, 0x0304, 0x0301, 0,
  487   0x17, 0x0065, 0x0304, 0x0301, 0,
  488   0x18, 0x0045, 0x032D, 0,
  489   0x19, 0x0065, 0x032D, 0,
  490   0x1a, 0x0045, 0x0330, 0,
  491   0x1b, 0x0065, 0x0330, 0,
  492   0x1c, 0x0045, 0x0327, 0x0306, 0,
  493   0x1d, 0x0065, 0x0327, 0x0306, 0,
  494   0x1e, 0x0046, 0x0307, 0,
  495   0x1f, 0x0066, 0x0307, 0,
  496   0x20, 0x0047, 0x0304, 0,
  497   0x21, 0x0067, 0x0304, 0,
  498   0x22, 0x0048, 0x0307, 0,
  499   0x23, 0x0068, 0x0307, 0,
  500   0x24, 0x0048, 0x0323, 0,
  501   0x25, 0x0068, 0x0323, 0,
  502   0x26, 0x0048, 0x0308, 0,
  503   0x27, 0x0068, 0x0308, 0,
  504   0x28, 0x0048, 0x0327, 0,
  505   0x29, 0x0068, 0x0327, 0,
  506   0x2a, 0x0048, 0x032E, 0,
  507   0x2b, 0x0068, 0x032E, 0,
  508   0x2c, 0x0049, 0x0330, 0,
  509   0x2d, 0x0069, 0x0330, 0,
  510   0x2e, 0x0049, 0x0308, 0x0301, 0,
  511   0x2f, 0x0069, 0x0308, 0x0301, 0,
  512   0x30, 0x004B, 0x0301, 0,
  513   0x31, 0x006B, 0x0301, 0,
  514   0x32, 0x004B, 0x0323, 0,
  515   0x33, 0x006B, 0x0323, 0,
  516   0x34, 0x004B, 0x0331, 0,
  517   0x35, 0x006B, 0x0331, 0,
  518   0x36, 0x004C, 0x0323, 0,
  519   0x37, 0x006C, 0x0323, 0,
  520   0x38, 0x004C, 0x0323, 0x0304, 0,
  521   0x39, 0x006C, 0x0323, 0x0304, 0,
  522   0x3a, 0x004C, 0x0331, 0,
  523   0x3b, 0x006C, 0x0331, 0,
  524   0x3c, 0x004C, 0x032D, 0,
  525   0x3d, 0x006C, 0x032D, 0,
  526   0x3e, 0x004D, 0x0301, 0,
  527   0x3f, 0x006D, 0x0301, 0,
  528   0x40, 0x004D, 0x0307, 0,
  529   0x41, 0x006D, 0x0307, 0,
  530   0x42, 0x004D, 0x0323, 0,
  531   0x43, 0x006D, 0x0323, 0,
  532   0x44, 0x004E, 0x0307, 0,
  533   0x45, 0x006E, 0x0307, 0,
  534   0x46, 0x004E, 0x0323, 0,
  535   0x47, 0x006E, 0x0323, 0,
  536   0x48, 0x004E, 0x0331, 0,
  537   0x49, 0x006E, 0x0331, 0,
  538   0x4a, 0x004E, 0x032D, 0,
  539   0x4b, 0x006E, 0x032D, 0,
  540   0x4c, 0x004F, 0x0303, 0x0301, 0,
  541   0x4d, 0x006F, 0x0303, 0x0301, 0,
  542   0x4e, 0x004F, 0x0303, 0x0308, 0,
  543   0x4f, 0x006F, 0x0303, 0x0308, 0,
  544   0x50, 0x004F, 0x0304, 0x0300, 0,
  545   0x51, 0x006F, 0x0304, 0x0300, 0,
  546   0x52, 0x004F, 0x0304, 0x0301, 0,
  547   0x53, 0x006F, 0x0304, 0x0301, 0,
  548   0x54, 0x0050, 0x0301, 0,
  549   0x55, 0x0070, 0x0301, 0,
  550   0x56, 0x0050, 0x0307, 0,
  551   0x57, 0x0070, 0x0307, 0,
  552   0x58, 0x0052, 0x0307, 0,
  553   0x59, 0x0072, 0x0307, 0,
  554   0x5a, 0x0052, 0x0323, 0,
  555   0x5b, 0x0072, 0x0323, 0,
  556   0x5c, 0x0052, 0x0323, 0x0304, 0,
  557   0x5d, 0x0072, 0x0323, 0x0304, 0,
  558   0x5e, 0x0052, 0x0331, 0,
  559   0x5f, 0x0072, 0x0331, 0,
  560   0x60, 0x0053, 0x0307, 0,
  561   0x61, 0x0073, 0x0307, 0,
  562   0x62, 0x0053, 0x0323, 0,
  563   0x63, 0x0073, 0x0323, 0,
  564   0x64, 0x0053, 0x0301, 0x0307, 0,
  565   0x65, 0x0073, 0x0301, 0x0307, 0,
  566   0x66, 0x0053, 0x030C, 0x0307, 0,
  567   0x67, 0x0073, 0x030C, 0x0307, 0,
  568   0x68, 0x0053, 0x0323, 0x0307, 0,
  569   0x69, 0x0073, 0x0323, 0x0307, 0,
  570   0x6a, 0x0054, 0x0307, 0,
  571   0x6b, 0x0074, 0x0307, 0,
  572   0x6c, 0x0054, 0x0323, 0,
  573   0x6d, 0x0074, 0x0323, 0,
  574   0x6e, 0x0054, 0x0331, 0,
  575   0x6f, 0x0074, 0x0331, 0,
  576   0x70, 0x0054, 0x032D, 0,
  577   0x71, 0x0074, 0x032D, 0,
  578   0x72, 0x0055, 0x0324, 0,
  579   0x73, 0x0075, 0x0324, 0,
  580   0x74, 0x0055, 0x0330, 0,
  581   0x75, 0x0075, 0x0330, 0,
  582   0x76, 0x0055, 0x032D, 0,
  583   0x77, 0x0075, 0x032D, 0,
  584   0x78, 0x0055, 0x0303, 0x0301, 0,
  585   0x79, 0x0075, 0x0303, 0x0301, 0,
  586   0x7a, 0x0055, 0x0304, 0x0308, 0,
  587   0x7b, 0x0075, 0x0304, 0x0308, 0,
  588   0x7c, 0x0056, 0x0303, 0,
  589   0x7d, 0x0076, 0x0303, 0,
  590   0x7e, 0x0056, 0x0323, 0,
  591   0x7f, 0x0076, 0x0323, 0,
  592   0x80, 0x0057, 0x0300, 0,
  593   0x81, 0x0077, 0x0300, 0,
  594   0x82, 0x0057, 0x0301, 0,
  595   0x83, 0x0077, 0x0301, 0,
  596   0x84, 0x0057, 0x0308, 0,
  597   0x85, 0x0077, 0x0308, 0,
  598   0x86, 0x0057, 0x0307, 0,
  599   0x87, 0x0077, 0x0307, 0,
  600   0x88, 0x0057, 0x0323, 0,
  601   0x89, 0x0077, 0x0323, 0,
  602   0x8a, 0x0058, 0x0307, 0,
  603   0x8b, 0x0078, 0x0307, 0,
  604   0x8c, 0x0058, 0x0308, 0,
  605   0x8d, 0x0078, 0x0308, 0,
  606   0x8e, 0x0059, 0x0307, 0,
  607   0x8f, 0x0079, 0x0307, 0,
  608   0x90, 0x005A, 0x0302, 0,
  609   0x91, 0x007A, 0x0302, 0,
  610   0x92, 0x005A, 0x0323, 0,
  611   0x93, 0x007A, 0x0323, 0,
  612   0x94, 0x005A, 0x0331, 0,
  613   0x95, 0x007A, 0x0331, 0,
  614   0x96, 0x0068, 0x0331, 0,
  615   0x97, 0x0074, 0x0308, 0,
  616   0x98, 0x0077, 0x030A, 0,
  617   0x99, 0x0079, 0x030A, 0,
  618   0x9b, 0x017F, 0x0307, 0,
  619   0xa0, 0x0041, 0x0323, 0,
  620   0xa1, 0x0061, 0x0323, 0,
  621   0xa2, 0x0041, 0x0309, 0,
  622   0xa3, 0x0061, 0x0309, 0,
  623   0xa4, 0x0041, 0x0302, 0x0301, 0,
  624   0xa5, 0x0061, 0x0302, 0x0301, 0,
  625   0xa6, 0x0041, 0x0302, 0x0300, 0,
  626   0xa7, 0x0061, 0x0302, 0x0300, 0,
  627   0xa8, 0x0041, 0x0302, 0x0309, 0,
  628   0xa9, 0x0061, 0x0302, 0x0309, 0,
  629   0xaa, 0x0041, 0x0302, 0x0303, 0,
  630   0xab, 0x0061, 0x0302, 0x0303, 0,
  631   0xac, 0x0041, 0x0323, 0x0302, 0,
  632   0xad, 0x0061, 0x0323, 0x0302, 0,
  633   0xae, 0x0041, 0x0306, 0x0301, 0,
  634   0xaf, 0x0061, 0x0306, 0x0301, 0,
  635   0xb0, 0x0041, 0x0306, 0x0300, 0,
  636   0xb1, 0x0061, 0x0306, 0x0300, 0,
  637   0xb2, 0x0041, 0x0306, 0x0309, 0,
  638   0xb3, 0x0061, 0x0306, 0x0309, 0,
  639   0xb4, 0x0041, 0x0306, 0x0303, 0,
  640   0xb5, 0x0061, 0x0306, 0x0303, 0,
  641   0xb6, 0x0041, 0x0323, 0x0306, 0,
  642   0xb7, 0x0061, 0x0323, 0x0306, 0,
  643   0xb8, 0x0045, 0x0323, 0,
  644   0xb9, 0x0065, 0x0323, 0,
  645   0xba, 0x0045, 0x0309, 0,
  646   0xbb, 0x0065, 0x0309, 0,
  647   0xbc, 0x0045, 0x0303, 0,
  648   0xbd, 0x0065, 0x0303, 0,
  649   0xbe, 0x0045, 0x0302, 0x0301, 0,
  650   0xbf, 0x0065, 0x0302, 0x0301, 0,
  651   0xc0, 0x0045, 0x0302, 0x0300, 0,
  652   0xc1, 0x0065, 0x0302, 0x0300, 0,
  653   0xc2, 0x0045, 0x0302, 0x0309, 0,
  654   0xc3, 0x0065, 0x0302, 0x0309, 0,
  655   0xc4, 0x0045, 0x0302, 0x0303, 0,
  656   0xc5, 0x0065, 0x0302, 0x0303, 0,
  657   0xc6, 0x0045, 0x0323, 0x0302, 0,
  658   0xc7, 0x0065, 0x0323, 0x0302, 0,
  659   0xc8, 0x0049, 0x0309, 0,
  660   0xc9, 0x0069, 0x0309, 0,
  661   0xca, 0x0049, 0x0323, 0,
  662   0xcb, 0x0069, 0x0323, 0,
  663   0xcc, 0x004F, 0x0323, 0,
  664   0xcd, 0x006F, 0x0323, 0,
  665   0xce, 0x004F, 0x0309, 0,
  666   0xcf, 0x006F, 0x0309, 0,
  667   0xd0, 0x004F, 0x0302, 0x0301, 0,
  668   0xd1, 0x006F, 0x0302, 0x0301, 0,
  669   0xd2, 0x004F, 0x0302, 0x0300, 0,
  670   0xd3, 0x006F, 0x0302, 0x0300, 0,
  671   0xd4, 0x004F, 0x0302, 0x0309, 0,
  672   0xd5, 0x006F, 0x0302, 0x0309, 0,
  673   0xd6, 0x004F, 0x0302, 0x0303, 0,
  674   0xd7, 0x006F, 0x0302, 0x0303, 0,
  675   0xd8, 0x004F, 0x0323, 0x0302, 0,
  676   0xd9, 0x006F, 0x0323, 0x0302, 0,
  677   0xda, 0x004F, 0x031B, 0x0301, 0,
  678   0xdb, 0x006F, 0x031B, 0x0301, 0,
  679   0xdc, 0x004F, 0x031B, 0x0300, 0,
  680   0xdd, 0x006F, 0x031B, 0x0300, 0,
  681   0xde, 0x004F, 0x031B, 0x0309, 0,
  682   0xdf, 0x006F, 0x031B, 0x0309, 0,
  683   0xe0, 0x004F, 0x031B, 0x0303, 0,
  684   0xe1, 0x006F, 0x031B, 0x0303, 0,
  685   0xe2, 0x004F, 0x031B, 0x0323, 0,
  686   0xe3, 0x006F, 0x031B, 0x0323, 0,
  687   0xe4, 0x0055, 0x0323, 0,
  688   0xe5, 0x0075, 0x0323, 0,
  689   0xe6, 0x0055, 0x0309, 0,
  690   0xe7, 0x0075, 0x0309, 0,
  691   0xe8, 0x0055, 0x031B, 0x0301, 0,
  692   0xe9, 0x0075, 0x031B, 0x0301, 0,
  693   0xea, 0x0055, 0x031B, 0x0300, 0,
  694   0xeb, 0x0075, 0x031B, 0x0300, 0,
  695   0xec, 0x0055, 0x031B, 0x0309, 0,
  696   0xed, 0x0075, 0x031B, 0x0309, 0,
  697   0xee, 0x0055, 0x031B, 0x0303, 0,
  698   0xef, 0x0075, 0x031B, 0x0303, 0,
  699   0xf0, 0x0055, 0x031B, 0x0323, 0,
  700   0xf1, 0x0075, 0x031B, 0x0323, 0,
  701   0xf2, 0x0059, 0x0300, 0,
  702   0xf3, 0x0079, 0x0300, 0,
  703   0xf4, 0x0059, 0x0323, 0,
  704   0xf5, 0x0079, 0x0323, 0,
  705   0xf6, 0x0059, 0x0309, 0,
  706   0xf7, 0x0079, 0x0309, 0,
  707   0xf8, 0x0059, 0x0303, 0,
  708   0xf9, 0x0079, 0x0303, 0,
  709   0x00,
  710 
  711   /* page1f */
  712   0x1f,
  713   0x00, 0x03B1, 0x0313, 0,
  714   0x01, 0x03B1, 0x0314, 0,
  715   0x02, 0x03B1, 0x0313, 0x0300, 0,
  716   0x03, 0x03B1, 0x0314, 0x0300, 0,
  717   0x04, 0x03B1, 0x0313, 0x0301, 0,
  718   0x05, 0x03B1, 0x0314, 0x0301, 0,
  719   0x06, 0x03B1, 0x0313, 0x0342, 0,
  720   0x07, 0x03B1, 0x0314, 0x0342, 0,
  721   0x08, 0x0391, 0x0313, 0,
  722   0x09, 0x0391, 0x0314, 0,
  723   0x0a, 0x0391, 0x0313, 0x0300, 0,
  724   0x0b, 0x0391, 0x0314, 0x0300, 0,
  725   0x0c, 0x0391, 0x0313, 0x0301, 0,
  726   0x0d, 0x0391, 0x0314, 0x0301, 0,
  727   0x0e, 0x0391, 0x0313, 0x0342, 0,
  728   0x0f, 0x0391, 0x0314, 0x0342, 0,
  729   0x10, 0x03B5, 0x0313, 0,
  730   0x11, 0x03B5, 0x0314, 0,
  731   0x12, 0x03B5, 0x0313, 0x0300, 0,
  732   0x13, 0x03B5, 0x0314, 0x0300, 0,
  733   0x14, 0x03B5, 0x0313, 0x0301, 0,
  734   0x15, 0x03B5, 0x0314, 0x0301, 0,
  735   0x18, 0x0395, 0x0313, 0,
  736   0x19, 0x0395, 0x0314, 0,
  737   0x1a, 0x0395, 0x0313, 0x0300, 0,
  738   0x1b, 0x0395, 0x0314, 0x0300, 0,
  739   0x1c, 0x0395, 0x0313, 0x0301, 0,
  740   0x1d, 0x0395, 0x0314, 0x0301, 0,
  741   0x20, 0x03B7, 0x0313, 0,
  742   0x21, 0x03B7, 0x0314, 0,
  743   0x22, 0x03B7, 0x0313, 0x0300, 0,
  744   0x23, 0x03B7, 0x0314, 0x0300, 0,
  745   0x24, 0x03B7, 0x0313, 0x0301, 0,
  746   0x25, 0x03B7, 0x0314, 0x0301, 0,
  747   0x26, 0x03B7, 0x0313, 0x0342, 0,
  748   0x27, 0x03B7, 0x0314, 0x0342, 0,
  749   0x28, 0x0397, 0x0313, 0,
  750   0x29, 0x0397, 0x0314, 0,
  751   0x2a, 0x0397, 0x0313, 0x0300, 0,
  752   0x2b, 0x0397, 0x0314, 0x0300, 0,
  753   0x2c, 0x0397, 0x0313, 0x0301, 0,
  754   0x2d, 0x0397, 0x0314, 0x0301, 0,
  755   0x2e, 0x0397, 0x0313, 0x0342, 0,
  756   0x2f, 0x0397, 0x0314, 0x0342, 0,
  757   0x30, 0x03B9, 0x0313, 0,
  758   0x31, 0x03B9, 0x0314, 0,
  759   0x32, 0x03B9, 0x0313, 0x0300, 0,
  760   0x33, 0x03B9, 0x0314, 0x0300, 0,
  761   0x34, 0x03B9, 0x0313, 0x0301, 0,
  762   0x35, 0x03B9, 0x0314, 0x0301, 0,
  763   0x36, 0x03B9, 0x0313, 0x0342, 0,
  764   0x37, 0x03B9, 0x0314, 0x0342, 0,
  765   0x38, 0x0399, 0x0313, 0,
  766   0x39, 0x0399, 0x0314, 0,
  767   0x3a, 0x0399, 0x0313, 0x0300, 0,
  768   0x3b, 0x0399, 0x0314, 0x0300, 0,
  769   0x3c, 0x0399, 0x0313, 0x0301, 0,
  770   0x3d, 0x0399, 0x0314, 0x0301, 0,
  771   0x3e, 0x0399, 0x0313, 0x0342, 0,
  772   0x3f, 0x0399, 0x0314, 0x0342, 0,
  773   0x40, 0x03BF, 0x0313, 0,
  774   0x41, 0x03BF, 0x0314, 0,
  775   0x42, 0x03BF, 0x0313, 0x0300, 0,
  776   0x43, 0x03BF, 0x0314, 0x0300, 0,
  777   0x44, 0x03BF, 0x0313, 0x0301, 0,
  778   0x45, 0x03BF, 0x0314, 0x0301, 0,
  779   0x48, 0x039F, 0x0313, 0,
  780   0x49, 0x039F, 0x0314, 0,
  781   0x4a, 0x039F, 0x0313, 0x0300, 0,
  782   0x4b, 0x039F, 0x0314, 0x0300, 0,
  783   0x4c, 0x039F, 0x0313, 0x0301, 0,
  784   0x4d, 0x039F, 0x0314, 0x0301, 0,
  785   0x50, 0x03C5, 0x0313, 0,
  786   0x51, 0x03C5, 0x0314, 0,
  787   0x52, 0x03C5, 0x0313, 0x0300, 0,
  788   0x53, 0x03C5, 0x0314, 0x0300, 0,
  789   0x54, 0x03C5, 0x0313, 0x0301, 0,
  790   0x55, 0x03C5, 0x0314, 0x0301, 0,
  791   0x56, 0x03C5, 0x0313, 0x0342, 0,
  792   0x57, 0x03C5, 0x0314, 0x0342, 0,
  793   0x59, 0x03A5, 0x0314, 0,
  794   0x5b, 0x03A5, 0x0314, 0x0300, 0,
  795   0x5d, 0x03A5, 0x0314, 0x0301, 0,
  796   0x5f, 0x03A5, 0x0314, 0x0342, 0,
  797   0x60, 0x03C9, 0x0313, 0,
  798   0x61, 0x03C9, 0x0314, 0,
  799   0x62, 0x03C9, 0x0313, 0x0300, 0,
  800   0x63, 0x03C9, 0x0314, 0x0300, 0,
  801   0x64, 0x03C9, 0x0313, 0x0301, 0,
  802   0x65, 0x03C9, 0x0314, 0x0301, 0,
  803   0x66, 0x03C9, 0x0313, 0x0342, 0,
  804   0x67, 0x03C9, 0x0314, 0x0342, 0,
  805   0x68, 0x03A9, 0x0313, 0,
  806   0x69, 0x03A9, 0x0314, 0,
  807   0x6a, 0x03A9, 0x0313, 0x0300, 0,
  808   0x6b, 0x03A9, 0x0314, 0x0300, 0,
  809   0x6c, 0x03A9, 0x0313, 0x0301, 0,
  810   0x6d, 0x03A9, 0x0314, 0x0301, 0,
  811   0x6e, 0x03A9, 0x0313, 0x0342, 0,
  812   0x6f, 0x03A9, 0x0314, 0x0342, 0,
  813   0x70, 0x03B1, 0x0300, 0,
  814   0x71, 0x03B1, 0x0301, 0,
  815   0x72, 0x03B5, 0x0300, 0,
  816   0x73, 0x03B5, 0x0301, 0,
  817   0x74, 0x03B7, 0x0300, 0,
  818   0x75, 0x03B7, 0x0301, 0,
  819   0x76, 0x03B9, 0x0300, 0,
  820   0x77, 0x03B9, 0x0301, 0,
  821   0x78, 0x03BF, 0x0300, 0,
  822   0x79, 0x03BF, 0x0301, 0,
  823   0x7a, 0x03C5, 0x0300, 0,
  824   0x7b, 0x03C5, 0x0301, 0,
  825   0x7c, 0x03C9, 0x0300, 0,
  826   0x7d, 0x03C9, 0x0301, 0,
  827   0x80, 0x03B1, 0x0345, 0x0313, 0,
  828   0x81, 0x03B1, 0x0345, 0x0314, 0,
  829   0x82, 0x03B1, 0x0345, 0x0313, 0x0300, 0,
  830   0x83, 0x03B1, 0x0345, 0x0314, 0x0300, 0,
  831   0x84, 0x03B1, 0x0345, 0x0313, 0x0301, 0,
  832   0x85, 0x03B1, 0x0345, 0x0314, 0x0301, 0,
  833   0x86, 0x03B1, 0x0345, 0x0313, 0x0342, 0,
  834   0x87, 0x03B1, 0x0345, 0x0314, 0x0342, 0,
  835   0x88, 0x0391, 0x0345, 0x0313, 0,
  836   0x89, 0x0391, 0x0345, 0x0314, 0,
  837   0x8a, 0x0391, 0x0345, 0x0313, 0x0300, 0,
  838   0x8b, 0x0391, 0x0345, 0x0314, 0x0300, 0,
  839   0x8c, 0x0391, 0x0345, 0x0313, 0x0301, 0,
  840   0x8d, 0x0391, 0x0345, 0x0314, 0x0301, 0,
  841   0x8e, 0x0391, 0x0345, 0x0313, 0x0342, 0,
  842   0x8f, 0x0391, 0x0345, 0x0314, 0x0342, 0,
  843   0x90, 0x03B7, 0x0345, 0x0313, 0,
  844   0x91, 0x03B7, 0x0345, 0x0314, 0,
  845   0x92, 0x03B7, 0x0345, 0x0313, 0x0300, 0,
  846   0x93, 0x03B7, 0x0345, 0x0314, 0x0300, 0,
  847   0x94, 0x03B7, 0x0345, 0x0313, 0x0301, 0,
  848   0x95, 0x03B7, 0x0345, 0x0314, 0x0301, 0,
  849   0x96, 0x03B7, 0x0345, 0x0313, 0x0342, 0,
  850   0x97, 0x03B7, 0x0345, 0x0314, 0x0342, 0,
  851   0x98, 0x0397, 0x0345, 0x0313, 0,
  852   0x99, 0x0397, 0x0345, 0x0314, 0,
  853   0x9a, 0x0397, 0x0345, 0x0313, 0x0300, 0,
  854   0x9b, 0x0397, 0x0345, 0x0314, 0x0300, 0,
  855   0x9c, 0x0397, 0x0345, 0x0313, 0x0301, 0,
  856   0x9d, 0x0397, 0x0345, 0x0314, 0x0301, 0,
  857   0x9e, 0x0397, 0x0345, 0x0313, 0x0342, 0,
  858   0x9f, 0x0397, 0x0345, 0x0314, 0x0342, 0,
  859   0xa0, 0x03C9, 0x0345, 0x0313, 0,
  860   0xa1, 0x03C9, 0x0345, 0x0314, 0,
  861   0xa2, 0x03C9, 0x0345, 0x0313, 0x0300, 0,
  862   0xa3, 0x03C9, 0x0345, 0x0314, 0x0300, 0,
  863   0xa4, 0x03C9, 0x0345, 0x0313, 0x0301, 0,
  864   0xa5, 0x03C9, 0x0345, 0x0314, 0x0301, 0,
  865   0xa6, 0x03C9, 0x0345, 0x0313, 0x0342, 0,
  866   0xa7, 0x03C9, 0x0345, 0x0314, 0x0342, 0,
  867   0xa8, 0x03A9, 0x0345, 0x0313, 0,
  868   0xa9, 0x03A9, 0x0345, 0x0314, 0,
  869   0xaa, 0x03A9, 0x0345, 0x0313, 0x0300, 0,
  870   0xab, 0x03A9, 0x0345, 0x0314, 0x0300, 0,
  871   0xac, 0x03A9, 0x0345, 0x0313, 0x0301, 0,
  872   0xad, 0x03A9, 0x0345, 0x0314, 0x0301, 0,
  873   0xae, 0x03A9, 0x0345, 0x0313, 0x0342, 0,
  874   0xaf, 0x03A9, 0x0345, 0x0314, 0x0342, 0,
  875   0xb0, 0x03B1, 0x0306, 0,
  876   0xb1, 0x03B1, 0x0304, 0,
  877   0xb2, 0x03B1, 0x0345, 0x0300, 0,
  878   0xb3, 0x03B1, 0x0345, 0,
  879   0xb4, 0x03B1, 0x0345, 0x0301, 0,
  880   0xb6, 0x03B1, 0x0342, 0,
  881   0xb7, 0x03B1, 0x0345, 0x0342, 0,
  882   0xb8, 0x0391, 0x0306, 0,
  883   0xb9, 0x0391, 0x0304, 0,
  884   0xba, 0x0391, 0x0300, 0,
  885   0xbb, 0x0391, 0x0301, 0,
  886   0xbc, 0x0391, 0x0345, 0,
  887   0xbe, 0x03B9, 0,
  888   0xc1, 0x00A8, 0x0342, 0,
  889   0xc2, 0x03B7, 0x0345, 0x0300, 0,
  890   0xc3, 0x03B7, 0x0345, 0,
  891   0xc4, 0x03B7, 0x0345, 0x0301, 0,
  892   0xc6, 0x03B7, 0x0342, 0,
  893   0xc7, 0x03B7, 0x0345, 0x0342, 0,
  894   0xc8, 0x0395, 0x0300, 0,
  895   0xc9, 0x0395, 0x0301, 0,
  896   0xca, 0x0397, 0x0300, 0,
  897   0xcb, 0x0397, 0x0301, 0,
  898   0xcc, 0x0397, 0x0345, 0,
  899   0xcd, 0x1FBF, 0x0300, 0,
  900   0xce, 0x1FBF, 0x0301, 0,
  901   0xcf, 0x1FBF, 0x0342, 0,
  902   0xd0, 0x03B9, 0x0306, 0,
  903   0xd1, 0x03B9, 0x0304, 0,
  904   0xd2, 0x03B9, 0x0308, 0x0300, 0,
  905   0xd3, 0x03B9, 0x0308, 0x0301, 0,
  906   0xd6, 0x03B9, 0x0342, 0,
  907   0xd7, 0x03B9, 0x0308, 0x0342, 0,
  908   0xd8, 0x0399, 0x0306, 0,
  909   0xd9, 0x0399, 0x0304, 0,
  910   0xda, 0x0399, 0x0300, 0,
  911   0xdb, 0x0399, 0x0301, 0,
  912   0xdd, 0x1FFE, 0x0300, 0,
  913   0xde, 0x1FFE, 0x0301, 0,
  914   0xdf, 0x1FFE, 0x0342, 0,
  915   0xe0, 0x03C5, 0x0306, 0,
  916   0xe1, 0x03C5, 0x0304, 0,
  917   0xe2, 0x03C5, 0x0308, 0x0300, 0,
  918   0xe3, 0x03C5, 0x0308, 0x0301, 0,
  919   0xe4, 0x03C1, 0x0313, 0,
  920   0xe5, 0x03C1, 0x0314, 0,
  921   0xe6, 0x03C5, 0x0342, 0,
  922   0xe7, 0x03C5, 0x0308, 0x0342, 0,
  923   0xe8, 0x03A5, 0x0306, 0,
  924   0xe9, 0x03A5, 0x0304, 0,
  925   0xea, 0x03A5, 0x0300, 0,
  926   0xeb, 0x03A5, 0x0301, 0,
  927   0xec, 0x03A1, 0x0314, 0,
  928   0xed, 0x00A8, 0x0300, 0,
  929   0xee, 0x00A8, 0x0301, 0,
  930   0xef, 0x0060, 0,
  931   0xf2, 0x03C9, 0x0345, 0x0300, 0,
  932   0xf3, 0x03C9, 0x0345, 0,
  933   0xf4, 0x03BF, 0x0345, 0x0301, 0,
  934   0xf6, 0x03C9, 0x0342, 0,
  935   0xf7, 0x03C9, 0x0345, 0x0342, 0,
  936   0xf8, 0x039F, 0x0300, 0,
  937   0xf9, 0x039F, 0x0301, 0,
  938   0xfa, 0x03A9, 0x0300, 0,
  939   0xfb, 0x03A9, 0x0301, 0,
  940   0xfc, 0x03A9, 0x0345, 0,
  941   0xfd, 0x00B4, 0,
  942   0x00,
  943 
  944   /* page30 */
  945   0x30,
  946   0x4c, 0x304B, 0x3099, 0,
  947   0x4e, 0x304D, 0x3099, 0,
  948   0x50, 0x304F, 0x3099, 0,
  949   0x52, 0x3051, 0x3099, 0,
  950   0x54, 0x3053, 0x3099, 0,
  951   0x56, 0x3055, 0x3099, 0,
  952   0x58, 0x3057, 0x3099, 0,
  953   0x5a, 0x3059, 0x3099, 0,
  954   0x5c, 0x305B, 0x3099, 0,
  955   0x5e, 0x305D, 0x3099, 0,
  956   0x60, 0x305F, 0x3099, 0,
  957   0x62, 0x3061, 0x3099, 0,
  958   0x65, 0x3064, 0x3099, 0,
  959   0x67, 0x3066, 0x3099, 0,
  960   0x69, 0x3068, 0x3099, 0,
  961   0x70, 0x306F, 0x3099, 0,
  962   0x71, 0x306F, 0x309A, 0,
  963   0x73, 0x3072, 0x3099, 0,
  964   0x74, 0x3072, 0x309A, 0,
  965   0x76, 0x3075, 0x3099, 0,
  966   0x77, 0x3075, 0x309A, 0,
  967   0x79, 0x3078, 0x3099, 0,
  968   0x7a, 0x3078, 0x309A, 0,
  969   0x7c, 0x307B, 0x3099, 0,
  970   0x7d, 0x307B, 0x309A, 0,
  971   0x94, 0x3046, 0x3099, 0,
  972   0x9e, 0x309D, 0x3099, 0,
  973   0xac, 0x30AB, 0x3099, 0,
  974   0xae, 0x30AD, 0x3099, 0,
  975   0xb0, 0x30AF, 0x3099, 0,
  976   0xb2, 0x30B1, 0x3099, 0,
  977   0xb4, 0x30B3, 0x3099, 0,
  978   0xb6, 0x30B5, 0x3099, 0,
  979   0xb8, 0x30B7, 0x3099, 0,
  980   0xba, 0x30B9, 0x3099, 0,
  981   0xbc, 0x30BB, 0x3099, 0,
  982   0xbe, 0x30BD, 0x3099, 0,
  983   0xc0, 0x30BF, 0x3099, 0,
  984   0xc2, 0x30C1, 0x3099, 0,
  985   0xc5, 0x30C4, 0x3099, 0,
  986   0xc7, 0x30C6, 0x3099, 0,
  987   0xc9, 0x30C8, 0x3099, 0,
  988   0xd0, 0x30CF, 0x3099, 0,
  989   0xd1, 0x30CF, 0x309A, 0,
  990   0xd3, 0x30D2, 0x3099, 0,
  991   0xd4, 0x30D2, 0x309A, 0,
  992   0xd6, 0x30D5, 0x3099, 0,
  993   0xd7, 0x30D5, 0x309A, 0,
  994   0xd9, 0x30D8, 0x3099, 0,
  995   0xda, 0x30D8, 0x309A, 0,
  996   0xdc, 0x30DB, 0x3099, 0,
  997   0xdd, 0x30DB, 0x309A, 0,
  998   0xf4, 0x30A6, 0x3099, 0,
  999   0xf7, 0x30EF, 0x3099, 0,
 1000   0xf8, 0x30F0, 0x3099, 0,
 1001   0xf9, 0x30F1, 0x3099, 0,
 1002   0xfa, 0x30F2, 0x3099, 0,
 1003   0xfe, 0x30FD, 0x3099, 0,
 1004   0x00,
 1005 
 1006   /* pagefb */
 1007   0xfb,
 1008   0x1f, 0x05F2, 0x05B7, 0,
 1009   0x2a, 0x05E9, 0x05C1, 0,
 1010   0x2b, 0x05E9, 0x05C2, 0,
 1011   0x2c, 0x05E9, 0x05BC, 0x05C1, 0,
 1012   0x2d, 0x05E9, 0x05BC, 0x05C2, 0,
 1013   0x2e, 0x05D0, 0x05B7, 0,
 1014   0x2f, 0x05D0, 0x05B8, 0,
 1015   0x30, 0x05D0, 0x05BC, 0,
 1016   0x31, 0x05D1, 0x05BC, 0,
 1017   0x32, 0x05D2, 0x05BC, 0,
 1018   0x33, 0x05D3, 0x05BC, 0,
 1019   0x34, 0x05D4, 0x05BC, 0,
 1020   0x35, 0x05D5, 0x05BC, 0,
 1021   0x36, 0x05D6, 0x05BC, 0,
 1022   0x38, 0x05D8, 0x05BC, 0,
 1023   0x39, 0x05D9, 0x05BC, 0,
 1024   0x3a, 0x05DA, 0x05BC, 0,
 1025   0x3b, 0x05DB, 0x05BC, 0,
 1026   0x3c, 0x05DC, 0x05BC, 0,
 1027   0x3e, 0x05DE, 0x05BC, 0,
 1028   0x40, 0x05E0, 0x05BC, 0,
 1029   0x41, 0x05E1, 0x05BC, 0,
 1030   0x43, 0x05E3, 0x05BC, 0,
 1031   0x44, 0x05E4, 0x05BC, 0,
 1032   0x46, 0x05E6, 0x05BC, 0,
 1033   0x47, 0x05E7, 0x05BC, 0,
 1034   0x48, 0x05E8, 0x05BC, 0,
 1035   0x49, 0x05E9, 0x05BC, 0,
 1036   0x4a, 0x05EA, 0x05BC, 0,
 1037   0x4b, 0x05D5, 0x05B9, 0,
 1038   0x4c, 0x05D1, 0x05BF, 0,
 1039   0x4d, 0x05DB, 0x05BF, 0,
 1040   0x4e, 0x05E4, 0x05BF, 0,
 1041   0x00,
 1042 
 1043   /* end of list */
 1044   0x00
 1045 };
 1046 
 1047 #define HFSPLUS_DECOMPOSE_PAGE_SIZE (256 * (HFSPLUS_MAX_DECOMPOSE_LEN + 1))
 1048 
 1049 static uint16_t decompose_pages[16 * 256][HFSPLUS_MAX_DECOMPOSE_LEN + 1];
 1050 
 1051 uint16_t (*hfsplus_decompose_pages[256])[HFSPLUS_MAX_DECOMPOSE_LEN + 1];
 1052 
 1053 
 1054 void make_hfsplus_decompose_pages()
 1055 {
 1056     int page_idx = -1, char_idx, i;
 1057     uint16_t *rpt, *page_pt, *value_pt;
 1058     int page_count = 0;
 1059    
 1060     memset(decompose_pages, 0, 16 * HFSPLUS_DECOMPOSE_PAGE_SIZE);
 1061     for (i = 0; i < 256; i++)
 1062         hfsplus_decompose_pages[i] = NULL; 
 1063    
 1064     rpt = (uint16_t *) decompose_page_data;
 1065     page_pt = (uint16_t *) decompose_pages;
 1066     while (1) {
 1067         if (*rpt <= page_idx)
 1068     break;
 1069         page_count++;
 1070         page_idx = *(rpt++);
 1071         char_idx = -1;
 1072         while (1) {
 1073             if(*rpt <= char_idx)
 1074         break;
 1075             char_idx = *(rpt++);
 1076             value_pt = page_pt + char_idx * (HFSPLUS_MAX_DECOMPOSE_LEN + 1);
 1077             while (1) {
 1078                 if(*rpt == 0)
 1079             break;
 1080                 *(value_pt++) = *(rpt++);
 1081             }
 1082             rpt++;
 1083         }
 1084         rpt++;
 1085         hfsplus_decompose_pages[page_idx] =
 1086                                       decompose_pages + (page_count - 1) * 256;
 1087         page_pt += HFSPLUS_DECOMPOSE_PAGE_SIZE;
 1088     }
 1089 }
 1090