Re: [U-Boot] [PATCH 11/15] efi_loader: capitalization table

2018-08-30 Thread Alexander Graf


On 30.08.18 04:51, Simon Glass wrote:
> Hi,
> 
> On 27 August 2018 at 02:37, Alexander Graf  wrote:
>>
>>
>>> Am 27.08.2018 um 10:30 schrieb Mike FABIAN :
>>>
>>> Alexander Graf  さんは書きました:
>>>
> On 26.08.18 21:00, Heinrich Schuchardt wrote:
>> On 08/26/2018 08:22 PM, Alexander Graf wrote:
>>
>>
>>> On 11.08.18 17:28, Heinrich Schuchardt wrote:
>>> This patch provides a define to initialize a table that maps lower to
>>> capital letters for Unicode code point 0x - 0x.
>>>
>>> Signed-off-by: Heinrich Schuchardt 
>>> ---
>>> MAINTAINERS  |1 +
>>> include/capitalization.h | 1909 ++
>>> 2 files changed, 1910 insertions(+)
>>> create mode 100644 include/capitalization.h
>>>
>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>> index a324139471..0a543309f2 100644
>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -368,6 +368,7 @@ F:doc/DocBook/efi.tmpl
>>> F:doc/README.uefi
>>> F:doc/README.iscsi
>>> F:Documentation/efi.rst
>>> +F:include/capitalization.h
>>> F:include/efi*
>>> F:include/pe.h
>>> F:include/asm-generic/pe.h
>>> diff --git a/include/capitalization.h b/include/capitalization.h
>>> new file mode 100644
>>> index 00..50d5108f98
>>> --- /dev/null
>>> +++ b/include/capitalization.h
>>> @@ -0,0 +1,1909 @@
>>> +/* SPDX-License-Identifier: Unicode-DFS-2016 */
>>> +/*
>>> + * Correspondence table for small and capital Unicode letters in the 
>>> range of
>>> + * 0x - 0x based on 
>>> http://www.unicode.org/Public/UCA/11.0.0/allkeys.txt
>>> + */
>>> +
>>> +struct capitalization_table {
>>> +u16 upper;
>>> +u16 lower;
>>> +};
>>> +
>>> +#define UNICODE_CAPITALIZATION_TABLE { \
>>
>> Ugh, that is a *lot* of data. How much does the binary size grow with
>> the table compiled in?
>>>
>>> That data is also in glibc. I don’t know whether you use glibc though
>>> ...
>>
>> U-Boot is a standalone OS so to say, we do not use glibc (except for 
>> sandbox, but that's a special target).
>>
>> The main problem is that some times people cram U-Boot into very tight 
>> spaces, like small flash chips or even on-chip RAM. So we have to be very 
>> cautious on space requirements.
> 
> Indeed.
> 
> Most archs use a private glib so do not build with one that supports this 
> table.
> 
> Wouldn't it be better to put this in a C file as a const struct?
> 
> If it is big that's OK, we just need to add a CONFIG option for it. If
> we already have EFI enabled, perhaps it doesn't matter, since it is
> pretty big.


EFI support when it started was about 10kb. I assume it grew by now, so
maybe we're at 15kb by now. Adding another 4kb for the upper/lower
translation is *massive* by comparison.

Edk2 only supports upper/lower conversion for English anyway, so we're
not worse off if we don't support all the fancy unicode conversions.


Alex
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 11/15] efi_loader: capitalization table

2018-08-29 Thread Simon Glass
Hi,

On 27 August 2018 at 02:37, Alexander Graf  wrote:
>
>
>> Am 27.08.2018 um 10:30 schrieb Mike FABIAN :
>>
>> Alexander Graf  さんは書きました:
>>
 On 26.08.18 21:00, Heinrich Schuchardt wrote:
> On 08/26/2018 08:22 PM, Alexander Graf wrote:
>
>
>> On 11.08.18 17:28, Heinrich Schuchardt wrote:
>> This patch provides a define to initialize a table that maps lower to
>> capital letters for Unicode code point 0x - 0x.
>>
>> Signed-off-by: Heinrich Schuchardt 
>> ---
>> MAINTAINERS  |1 +
>> include/capitalization.h | 1909 ++
>> 2 files changed, 1910 insertions(+)
>> create mode 100644 include/capitalization.h
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index a324139471..0a543309f2 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -368,6 +368,7 @@ F:doc/DocBook/efi.tmpl
>> F:doc/README.uefi
>> F:doc/README.iscsi
>> F:Documentation/efi.rst
>> +F:include/capitalization.h
>> F:include/efi*
>> F:include/pe.h
>> F:include/asm-generic/pe.h
>> diff --git a/include/capitalization.h b/include/capitalization.h
>> new file mode 100644
>> index 00..50d5108f98
>> --- /dev/null
>> +++ b/include/capitalization.h
>> @@ -0,0 +1,1909 @@
>> +/* SPDX-License-Identifier: Unicode-DFS-2016 */
>> +/*
>> + * Correspondence table for small and capital Unicode letters in the 
>> range of
>> + * 0x - 0x based on 
>> http://www.unicode.org/Public/UCA/11.0.0/allkeys.txt
>> + */
>> +
>> +struct capitalization_table {
>> +u16 upper;
>> +u16 lower;
>> +};
>> +
>> +#define UNICODE_CAPITALIZATION_TABLE { \
>
> Ugh, that is a *lot* of data. How much does the binary size grow with
> the table compiled in?
>>
>> That data is also in glibc. I don’t know whether you use glibc though
>> ...
>
> U-Boot is a standalone OS so to say, we do not use glibc (except for sandbox, 
> but that's a special target).
>
> The main problem is that some times people cram U-Boot into very tight 
> spaces, like small flash chips or even on-chip RAM. So we have to be very 
> cautious on space requirements.

Indeed.

Most archs use a private glib so do not build with one that supports this table.

Wouldn't it be better to put this in a C file as a const struct?

If it is big that's OK, we just need to add a CONFIG option for it. If
we already have EFI enabled, perhaps it doesn't matter, since it is
pretty big.

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 11/15] efi_loader: capitalization table

2018-08-27 Thread Mike FABIAN
Alexander Graf  さんは書きました:

> On 26.08.18 21:00, Heinrich Schuchardt wrote:
>> On 08/26/2018 08:22 PM, Alexander Graf wrote:
>>>
>>>
>>> On 11.08.18 17:28, Heinrich Schuchardt wrote:
 This patch provides a define to initialize a table that maps lower to
 capital letters for Unicode code point 0x - 0x.

 Signed-off-by: Heinrich Schuchardt 
 ---
  MAINTAINERS  |1 +
  include/capitalization.h | 1909 ++
  2 files changed, 1910 insertions(+)
  create mode 100644 include/capitalization.h

 diff --git a/MAINTAINERS b/MAINTAINERS
 index a324139471..0a543309f2 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -368,6 +368,7 @@ F: doc/DocBook/efi.tmpl
  F:doc/README.uefi
  F:doc/README.iscsi
  F:Documentation/efi.rst
 +F:include/capitalization.h
  F:include/efi*
  F:include/pe.h
  F:include/asm-generic/pe.h
 diff --git a/include/capitalization.h b/include/capitalization.h
 new file mode 100644
 index 00..50d5108f98
 --- /dev/null
 +++ b/include/capitalization.h
 @@ -0,0 +1,1909 @@
 +/* SPDX-License-Identifier: Unicode-DFS-2016 */
 +/*
 + * Correspondence table for small and capital Unicode letters in the 
 range of
 + * 0x - 0x based on 
 http://www.unicode.org/Public/UCA/11.0.0/allkeys.txt
 + */
 +
 +struct capitalization_table {
 +  u16 upper;
 +  u16 lower;
 +};
 +
 +#define UNICODE_CAPITALIZATION_TABLE { \
>>>
>>> Ugh, that is a *lot* of data. How much does the binary size grow with
>>> the table compiled in?

That data is also in glibc. I don’t know whether you use glibc though
...

>>> Is there any slightly more sophisticated pattern in the table maybe that
>>> we could just express as code? Would that turn out smaller maybe?
>> 
>> This is 3792 bytes of data. Unicode capitalization is quite random in
>> arranging lower and upper letters.
>> 
>> We could resort to zlib or gzip. But these libraries are not built by
>> default.
>
> Yeah, and that only adds to more overhead.
>
>> Most urgently we will need the capitalization table for generating and
>> checking short FAT filenames, so we could create a configuration switch
>> that would reduce this table to codepage 437 or codepage 1250 letters
>> depending on the chosen native character set.
>
> I think that's a great idea. There probably is a lot of overlap even
> between the two, so maybe just make it a config option for "non-latin
> upper/lower case conversion".
>
>> In EDK2 I only found code for codepage 1250.
>
> Yeah, I'd be surprised if people really needed more. In fact, how about
> you just default the config option to =n by default?
>
>
> Alex
>

-- 
 Mike FABIAN   
睡眠不足はいい仕事の敵だ。
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 11/15] efi_loader: capitalization table

2018-08-27 Thread Alexander Graf


> Am 27.08.2018 um 10:30 schrieb Mike FABIAN :
> 
> Alexander Graf  さんは書きました:
> 
>>> On 26.08.18 21:00, Heinrich Schuchardt wrote:
 On 08/26/2018 08:22 PM, Alexander Graf wrote:
 
 
> On 11.08.18 17:28, Heinrich Schuchardt wrote:
> This patch provides a define to initialize a table that maps lower to
> capital letters for Unicode code point 0x - 0x.
> 
> Signed-off-by: Heinrich Schuchardt 
> ---
> MAINTAINERS  |1 +
> include/capitalization.h | 1909 ++
> 2 files changed, 1910 insertions(+)
> create mode 100644 include/capitalization.h
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a324139471..0a543309f2 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -368,6 +368,7 @@ F:doc/DocBook/efi.tmpl
> F:doc/README.uefi
> F:doc/README.iscsi
> F:Documentation/efi.rst
> +F:include/capitalization.h
> F:include/efi*
> F:include/pe.h
> F:include/asm-generic/pe.h
> diff --git a/include/capitalization.h b/include/capitalization.h
> new file mode 100644
> index 00..50d5108f98
> --- /dev/null
> +++ b/include/capitalization.h
> @@ -0,0 +1,1909 @@
> +/* SPDX-License-Identifier: Unicode-DFS-2016 */
> +/*
> + * Correspondence table for small and capital Unicode letters in the 
> range of
> + * 0x - 0x based on 
> http://www.unicode.org/Public/UCA/11.0.0/allkeys.txt
> + */
> +
> +struct capitalization_table {
> +u16 upper;
> +u16 lower;
> +};
> +
> +#define UNICODE_CAPITALIZATION_TABLE { \
 
 Ugh, that is a *lot* of data. How much does the binary size grow with
 the table compiled in?
> 
> That data is also in glibc. I don’t know whether you use glibc though
> ...

U-Boot is a standalone OS so to say, we do not use glibc (except for sandbox, 
but that's a special target).

The main problem is that some times people cram U-Boot into very tight spaces, 
like small flash chips or even on-chip RAM. So we have to be very cautious on 
space requirements.

Alex


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 11/15] efi_loader: capitalization table

2018-08-26 Thread Alexander Graf


On 26.08.18 21:00, Heinrich Schuchardt wrote:
> On 08/26/2018 08:22 PM, Alexander Graf wrote:
>>
>>
>> On 11.08.18 17:28, Heinrich Schuchardt wrote:
>>> This patch provides a define to initialize a table that maps lower to
>>> capital letters for Unicode code point 0x - 0x.
>>>
>>> Signed-off-by: Heinrich Schuchardt 
>>> ---
>>>  MAINTAINERS  |1 +
>>>  include/capitalization.h | 1909 ++
>>>  2 files changed, 1910 insertions(+)
>>>  create mode 100644 include/capitalization.h
>>>
>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>> index a324139471..0a543309f2 100644
>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -368,6 +368,7 @@ F:  doc/DocBook/efi.tmpl
>>>  F: doc/README.uefi
>>>  F: doc/README.iscsi
>>>  F: Documentation/efi.rst
>>> +F: include/capitalization.h
>>>  F: include/efi*
>>>  F: include/pe.h
>>>  F: include/asm-generic/pe.h
>>> diff --git a/include/capitalization.h b/include/capitalization.h
>>> new file mode 100644
>>> index 00..50d5108f98
>>> --- /dev/null
>>> +++ b/include/capitalization.h
>>> @@ -0,0 +1,1909 @@
>>> +/* SPDX-License-Identifier: Unicode-DFS-2016 */
>>> +/*
>>> + * Correspondence table for small and capital Unicode letters in the range 
>>> of
>>> + * 0x - 0x based on 
>>> http://www.unicode.org/Public/UCA/11.0.0/allkeys.txt
>>> + */
>>> +
>>> +struct capitalization_table {
>>> +   u16 upper;
>>> +   u16 lower;
>>> +};
>>> +
>>> +#define UNICODE_CAPITALIZATION_TABLE { \
>>
>> Ugh, that is a *lot* of data. How much does the binary size grow with
>> the table compiled in?
>>
>> Is there any slightly more sophisticated pattern in the table maybe that
>> we could just express as code? Would that turn out smaller maybe?
> 
> This is 3792 bytes of data. Unicode capitalization is quite random in
> arranging lower and upper letters.
> 
> We could resort to zlib or gzip. But these libraries are not built by
> default.

Yeah, and that only adds to more overhead.

> Most urgently we will need the capitalization table for generating and
> checking short FAT filenames, so we could create a configuration switch
> that would reduce this table to codepage 437 or codepage 1250 letters
> depending on the chosen native character set.

I think that's a great idea. There probably is a lot of overlap even
between the two, so maybe just make it a config option for "non-latin
upper/lower case conversion".

> In EDK2 I only found code for codepage 1250.

Yeah, I'd be surprised if people really needed more. In fact, how about
you just default the config option to =n by default?


Alex
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 11/15] efi_loader: capitalization table

2018-08-26 Thread Heinrich Schuchardt
On 08/26/2018 08:22 PM, Alexander Graf wrote:
> 
> 
> On 11.08.18 17:28, Heinrich Schuchardt wrote:
>> This patch provides a define to initialize a table that maps lower to
>> capital letters for Unicode code point 0x - 0x.
>>
>> Signed-off-by: Heinrich Schuchardt 
>> ---
>>  MAINTAINERS  |1 +
>>  include/capitalization.h | 1909 ++
>>  2 files changed, 1910 insertions(+)
>>  create mode 100644 include/capitalization.h
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index a324139471..0a543309f2 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -368,6 +368,7 @@ F:   doc/DocBook/efi.tmpl
>>  F:  doc/README.uefi
>>  F:  doc/README.iscsi
>>  F:  Documentation/efi.rst
>> +F:  include/capitalization.h
>>  F:  include/efi*
>>  F:  include/pe.h
>>  F:  include/asm-generic/pe.h
>> diff --git a/include/capitalization.h b/include/capitalization.h
>> new file mode 100644
>> index 00..50d5108f98
>> --- /dev/null
>> +++ b/include/capitalization.h
>> @@ -0,0 +1,1909 @@
>> +/* SPDX-License-Identifier: Unicode-DFS-2016 */
>> +/*
>> + * Correspondence table for small and capital Unicode letters in the range 
>> of
>> + * 0x - 0x based on 
>> http://www.unicode.org/Public/UCA/11.0.0/allkeys.txt
>> + */
>> +
>> +struct capitalization_table {
>> +u16 upper;
>> +u16 lower;
>> +};
>> +
>> +#define UNICODE_CAPITALIZATION_TABLE { \
> 
> Ugh, that is a *lot* of data. How much does the binary size grow with
> the table compiled in?
> 
> Is there any slightly more sophisticated pattern in the table maybe that
> we could just express as code? Would that turn out smaller maybe?

This is 3792 bytes of data. Unicode capitalization is quite random in
arranging lower and upper letters.

We could resort to zlib or gzip. But these libraries are not built by
default.

Most urgently we will need the capitalization table for generating and
checking short FAT filenames, so we could create a configuration switch
that would reduce this table to codepage 437 or codepage 1250 letters
depending on the chosen native character set.

In EDK2 I only found code for codepage 1250.

Best regards

Heinrich

> 
> 
> Alex
> 
>> +{ 0x0531, /* ARMENIAN CAPITAL LETTER AYB */ \
>> +  0x0561, /* ARMENIAN SMALL LETTER AYB */ }, \
>> +{ 0x0532, /* ARMENIAN CAPITAL LETTER BEN */ \
>> +  0x0562, /* ARMENIAN SMALL LETTER BEN */ }, \
>> +{ 0x053E, /* ARMENIAN CAPITAL LETTER CA */ \
>> +  0x056E, /* ARMENIAN SMALL LETTER CA */ }, \
>> +{ 0x0549, /* ARMENIAN CAPITAL LETTER CHA */ \
> 
> [...]
> 

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 11/15] efi_loader: capitalization table

2018-08-26 Thread Alexander Graf


On 11.08.18 17:28, Heinrich Schuchardt wrote:
> This patch provides a define to initialize a table that maps lower to
> capital letters for Unicode code point 0x - 0x.
> 
> Signed-off-by: Heinrich Schuchardt 
> ---
>  MAINTAINERS  |1 +
>  include/capitalization.h | 1909 ++
>  2 files changed, 1910 insertions(+)
>  create mode 100644 include/capitalization.h
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a324139471..0a543309f2 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -368,6 +368,7 @@ F:doc/DocBook/efi.tmpl
>  F:   doc/README.uefi
>  F:   doc/README.iscsi
>  F:   Documentation/efi.rst
> +F:   include/capitalization.h
>  F:   include/efi*
>  F:   include/pe.h
>  F:   include/asm-generic/pe.h
> diff --git a/include/capitalization.h b/include/capitalization.h
> new file mode 100644
> index 00..50d5108f98
> --- /dev/null
> +++ b/include/capitalization.h
> @@ -0,0 +1,1909 @@
> +/* SPDX-License-Identifier: Unicode-DFS-2016 */
> +/*
> + * Correspondence table for small and capital Unicode letters in the range of
> + * 0x - 0x based on 
> http://www.unicode.org/Public/UCA/11.0.0/allkeys.txt
> + */
> +
> +struct capitalization_table {
> + u16 upper;
> + u16 lower;
> +};
> +
> +#define UNICODE_CAPITALIZATION_TABLE { \

Ugh, that is a *lot* of data. How much does the binary size grow with
the table compiled in?

Is there any slightly more sophisticated pattern in the table maybe that
we could just express as code? Would that turn out smaller maybe?


Alex

> + { 0x0531, /* ARMENIAN CAPITAL LETTER AYB */ \
> +   0x0561, /* ARMENIAN SMALL LETTER AYB */ }, \
> + { 0x0532, /* ARMENIAN CAPITAL LETTER BEN */ \
> +   0x0562, /* ARMENIAN SMALL LETTER BEN */ }, \
> + { 0x053E, /* ARMENIAN CAPITAL LETTER CA */ \
> +   0x056E, /* ARMENIAN SMALL LETTER CA */ }, \
> + { 0x0549, /* ARMENIAN CAPITAL LETTER CHA */ \

[...]
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 11/15] efi_loader: capitalization table

2018-08-11 Thread Heinrich Schuchardt
This patch provides a define to initialize a table that maps lower to
capital letters for Unicode code point 0x - 0x.

Signed-off-by: Heinrich Schuchardt 
---
 MAINTAINERS  |1 +
 include/capitalization.h | 1909 ++
 2 files changed, 1910 insertions(+)
 create mode 100644 include/capitalization.h

diff --git a/MAINTAINERS b/MAINTAINERS
index a324139471..0a543309f2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -368,6 +368,7 @@ F:  doc/DocBook/efi.tmpl
 F: doc/README.uefi
 F: doc/README.iscsi
 F: Documentation/efi.rst
+F: include/capitalization.h
 F: include/efi*
 F: include/pe.h
 F: include/asm-generic/pe.h
diff --git a/include/capitalization.h b/include/capitalization.h
new file mode 100644
index 00..50d5108f98
--- /dev/null
+++ b/include/capitalization.h
@@ -0,0 +1,1909 @@
+/* SPDX-License-Identifier: Unicode-DFS-2016 */
+/*
+ * Correspondence table for small and capital Unicode letters in the range of
+ * 0x - 0x based on 
http://www.unicode.org/Public/UCA/11.0.0/allkeys.txt
+ */
+
+struct capitalization_table {
+   u16 upper;
+   u16 lower;
+};
+
+#define UNICODE_CAPITALIZATION_TABLE { \
+   { 0x0531, /* ARMENIAN CAPITAL LETTER AYB */ \
+ 0x0561, /* ARMENIAN SMALL LETTER AYB */ }, \
+   { 0x0532, /* ARMENIAN CAPITAL LETTER BEN */ \
+ 0x0562, /* ARMENIAN SMALL LETTER BEN */ }, \
+   { 0x053E, /* ARMENIAN CAPITAL LETTER CA */ \
+ 0x056E, /* ARMENIAN SMALL LETTER CA */ }, \
+   { 0x0549, /* ARMENIAN CAPITAL LETTER CHA */ \
+ 0x0579, /* ARMENIAN SMALL LETTER CHA */ }, \
+   { 0x0543, /* ARMENIAN CAPITAL LETTER CHEH */ \
+ 0x0573, /* ARMENIAN SMALL LETTER CHEH */ }, \
+   { 0x0551, /* ARMENIAN CAPITAL LETTER CO */ \
+ 0x0581, /* ARMENIAN SMALL LETTER CO */ }, \
+   { 0x0534, /* ARMENIAN CAPITAL LETTER DA */ \
+ 0x0564, /* ARMENIAN SMALL LETTER DA */ }, \
+   { 0x0535, /* ARMENIAN CAPITAL LETTER ECH */ \
+ 0x0565, /* ARMENIAN SMALL LETTER ECH */ }, \
+   { 0x0537, /* ARMENIAN CAPITAL LETTER EH */ \
+ 0x0567, /* ARMENIAN SMALL LETTER EH */ }, \
+   { 0x0538, /* ARMENIAN CAPITAL LETTER ET */ \
+ 0x0568, /* ARMENIAN SMALL LETTER ET */ }, \
+   { 0x0556, /* ARMENIAN CAPITAL LETTER FEH */ \
+ 0x0586, /* ARMENIAN SMALL LETTER FEH */ }, \
+   { 0x0542, /* ARMENIAN CAPITAL LETTER GHAD */ \
+ 0x0572, /* ARMENIAN SMALL LETTER GHAD */ }, \
+   { 0x0533, /* ARMENIAN CAPITAL LETTER GIM */ \
+ 0x0563, /* ARMENIAN SMALL LETTER GIM */ }, \
+   { 0x0540, /* ARMENIAN CAPITAL LETTER HO */ \
+ 0x0570, /* ARMENIAN SMALL LETTER HO */ }, \
+   { 0x053B, /* ARMENIAN CAPITAL LETTER INI */ \
+ 0x056B, /* ARMENIAN SMALL LETTER INI */ }, \
+   { 0x0541, /* ARMENIAN CAPITAL LETTER JA */ \
+ 0x0571, /* ARMENIAN SMALL LETTER JA */ }, \
+   { 0x054B, /* ARMENIAN CAPITAL LETTER JHEH */ \
+ 0x057B, /* ARMENIAN SMALL LETTER JHEH */ }, \
+   { 0x0554, /* ARMENIAN CAPITAL LETTER KEH */ \
+ 0x0584, /* ARMENIAN SMALL LETTER KEH */ }, \
+   { 0x053F, /* ARMENIAN CAPITAL LETTER KEN */ \
+ 0x056F, /* ARMENIAN SMALL LETTER KEN */ }, \
+   { 0x053C, /* ARMENIAN CAPITAL LETTER LIWN */ \
+ 0x056C, /* ARMENIAN SMALL LETTER LIWN */ }, \
+   { 0x0544, /* ARMENIAN CAPITAL LETTER MEN */ \
+ 0x0574, /* ARMENIAN SMALL LETTER MEN */ }, \
+   { 0x0546, /* ARMENIAN CAPITAL LETTER NOW */ \
+ 0x0576, /* ARMENIAN SMALL LETTER NOW */ }, \
+   { 0x0555, /* ARMENIAN CAPITAL LETTER OH */ \
+ 0x0585, /* ARMENIAN SMALL LETTER OH */ }, \
+   { 0x054A, /* ARMENIAN CAPITAL LETTER PEH */ \
+ 0x057A, /* ARMENIAN SMALL LETTER PEH */ }, \
+   { 0x0553, /* ARMENIAN CAPITAL LETTER PIWR */ \
+ 0x0583, /* ARMENIAN SMALL LETTER PIWR */ }, \
+   { 0x054C, /* ARMENIAN CAPITAL LETTER RA */ \
+ 0x057C, /* ARMENIAN SMALL LETTER RA */ }, \
+   { 0x0550, /* ARMENIAN CAPITAL LETTER REH */ \
+ 0x0580, /* ARMENIAN SMALL LETTER REH */ }, \
+   { 0x054D, /* ARMENIAN CAPITAL LETTER SEH */ \
+ 0x057D, /* ARMENIAN SMALL LETTER SEH */ }, \
+   { 0x0547, /* ARMENIAN CAPITAL LETTER SHA */ \
+ 0x0577, /* ARMENIAN SMALL LETTER SHA */ }, \
+   { 0x054F, /* ARMENIAN CAPITAL LETTER TIWN */ \
+ 0x057F, /* ARMENIAN SMALL LETTER TIWN */ }, \
+   { 0x0539, /* ARMENIAN CAPITAL LETTER TO */ \
+ 0x0569, /* ARMENIAN SMALL LETTER TO */ }, \
+   { 0x054E, /* ARMENIAN CAPITAL LETTER VEW */ \
+ 0x057E, /* ARMENIAN SMALL LETTER VEW */ }, \
+   { 0x0548, /* ARMENIAN CAPITAL LETTER VO */ \
+ 0x0578, /* ARMENIAN SMALL LETTER VO */ }, \
+   { 0x053D, /* ARMENIAN CAPITAL LETTER XEH */ \
+ 0x056D, /* ARMENIAN SMALL LETTER XEH */ }, \
+   { 0x0545, /* ARMENIAN CAPITAL LETTER YI */ \
+ 0x0575, /* ARMENIAN