Re: Report #9: Unicode support

Dmitry Selyutin <[email protected]> Wed, 27 Aug 2014 14:48:09 +0400
Newsgroups gmane.os.freebsd.devel.internationalization
Message-ID <CAMqzjesGZmpXgHHvOQqOHzTwZJK=KZNyDaC9QkTX+6j=wpO7zw@mail.gmail.com>
SGksIFBlZHJvLCBCYXB0aXN0ZSwKCmZpcnN0IG9mIGFsbCB0aGFua3MgZm9yIHlvdXIgY29uZ3Jh
dHVsYXRpb25zIGFuZCBraW5kIHdvcmRzISBUaGUKcHJvamVjdCB3YXMgcmVhbGx5IGhhcmRlciB0
aGF0IGFueXRoaW5nIEkndmUgZXZlciBtZXQgaW4gbXkgbGlmZSwgYnV0CmF0IHRoZSBzYW1lIHRp
bWUgaXQgd2FzIHRoZSBtb3N0IGludGVyZXN0aW5nIG9uZS4gOi0pIEFuZCBzdGlsbApyZW1haW5z
ISA7LSkKCj4gVGhhdCBpcyBub3QgcmVhbGx5IHVuY29tbW9uIDopCldlbGwsIHNvIEkgY2FuIGxl
YXZlIGl0IGFzIGl0IGlzLiA6LSkKCj4gVGhlIHByb2plY3QgZG9lcyBoYXZlIGFjY2VzcyB0byBz
cGFyYzY0IG1hY2hpbmVzIHNvIGlmIHlvdSBoYXZlIHNvbWUKPiBzZWxmLWNvbnRhaW5lZCB0ZXN0
IHdlIGNhbiBydW4gaXQgZm9yIHlvdSBvciB3ZSBjYW4gdGVzdCBpdCBhcyBhIHJvdXRpbmUgbGli
Ywo+IHRlc3QgYWZ0ZXIgY29tbWl0dGluZy4KSG9wZWZ1bGx5IEkgY2FuIGZpbmlzaCBpdCB0b2Rh
eSBvciBpbiB0aGUgbmV4dCB0d28gZGF5cy4KCj4gWW91IG5ldmVyIGFuc3dlcmVkIG15IHF1ZXN0
aW9uIGNvbmNlcm5pbmcgdGhlIGZhbGxiYWNrIG9wdGlvbnMuClJlYWxseT8gSSB0aG91Z2h0IHRo
YXQgSSBhbnN3ZXJlZC4gOi1EIFdlbGwsIEknbGwgdHJ5IHRvIGV4cGxhaW4KYWdhaW4uIERVQ0VU
IHNlZW1zIHRvIGJlIGEgYml0IG9ic29sZXRlIGNvbGxhdGlvbiB0YWJsZSwgd2hpY2ggY2FuIGJl
Cm1vcmUgb3IgbGVzcyBzdWNjZXNzZnVsbHkgdXNlZCB3aXRoIHJlYWwgbGFuZ3VhZ2VzLiBIb3dl
dmVyLCBpbiByZWFsCndvcmxkIGl0IGlzIGNvbXBsZXRlbHkgdW51c2FibGUsIHNvIElDVSBhbmQg
b3RoZXIgdXNlIENMRFIgY29sbGF0aW9uCnRhYmxlLCB3aGljaCBzdXBwb3J0cyBtb3JlIGxldmVs
cy4gSSBzdGFydGVkIHdpdGggRFVDRVQgc2luY2UgdGhlcmUKd2FzIG11Y2ggbW9yZSBpbmZvcm1h
dGlvbiBhYm91dCBpdCwgYnV0IHRoZW4gSSBmb3VuZCB0aGF0IGl0IGRvZXNuJ3QKZml0IHdlbGws
IHNvIEkgc3dpdGNoZWQgdG8gQ0xEUi4gV2UgaGF2ZSBEVUNFVCB0YWJsZSBzb21ld2hlcmUgaW4g
b3VyCnJldmlzaW9ucyB0aG91Z2g7IGFzIGEgZmFsbGJhY2sgb3B0aW9uLCBpdCBzdGlsbCBtYXkg
YmUgdXNlZnVsLCBzbyBJCmNhbiByZXN0b3JlIGl0IGlmIHlvdSB3YW50LgoKPiBDaGFuZ2luZyBp
dCB0byB1c2UgdGhlIE5ldEJTRCdzIGNkYiBzdXBwb3J0WzFdIHNob3VsZG4ndCBiZSBkaWZmaWN1
bHQuCldlbGwsIEkgdGhpbmsgSSdsbCBkbyBpdCByaWdodCBhZnRlciBleGFtcy4gYmRiIEFGQUlL
IGlzIGRlcHJlY2F0ZWQKZnJvbSBMaW51eCAodGhvdWdoIGl0IGNhbiBiZSB1c2VkIGFzIGJkYjQ2
IG9yIHNvbWV0aGluZyBzaW1pbGFyKS4gSQpkb24ndCBrbm93IHJlYXNvbnMgd2h5IHRoZXkgZGlk
IHN1Y2ggdGhpbmc7IGl0IHdvdWxkIGJlIGdyZWF0IGlmIHdlCmNvdWxkIHVzZSBhIHRvb2wgd2hp
Y2ggY2FuIGJlIHVzZWQgb24gZGlmZmVyZW50IHBsYXRmb3JtcyB3aXRob3V0Cm1vZGlmaWNhdGlv
bnMgYW5kIHRvbnMgb2YgY29uZGl0aW9uYWwgZGVmaW5lJ3MgYW5kIHVuZGVmJ3MuCgo+IEl0IGhh
cyBzaW1wbGUgQVBJIHdheSBlYXNpZXIgdG8gdXNlLCB0aGUgZGIgZm9ybWF0IGlzIGVuZGlhbiBz
YWZlIGFuZCBmaW5hbCBmaWxlCj4gaXMgc21hbGxlciB0aGFuIGVxdWl2YWxlbnQgaW4gYmRiIGZv
cm1hdC4KSXQgc291bmRzIGdyZWF0IQoKPiBJIGRvIHdhbnQgdG8gZW5jb3VyYWdlIHlvdSB0byBn
byB0byBFdXJvQlNEQ29uIDIwMTQgaW4gU29maWEuIFRoZQo+IEZyZWVCU0QgRm91bmRhdGlvbiB3
aWxsIGJlIGFsbG9jYXRpbmcgZnVuZHMgZm9yIHN0dWRlbnRzIHRoYXQgd2FudCB0byBnby4KPiBJ
IHdvbuKAmXQgYmUgdGhlcmUgKEkgYW0gYSBiaXQgZmFyIGF3YXkpIGJ1dCBEYXZpZCBhbmQgb3Ro
ZXIgZGV2ZWxvcGVycyB3aWxsCj4gbGlrZWx5IGJlLgpXZWxsLCB0aGF0IGRlcGVuZHMgb24gd2hl
dGhlciBJIHBhc3MgbXkgZXhhbXMgZm9yIHRoZSBwb3N0Z3JhZHVhdGUKY291cnNlIG9yIG5vdC4g
SSdkIHJlYWxseSBsaWtlIHRvIGxpc3RlbiB0byBtb3JlIGV4cGVyaWVuY2VkCmRldmVsb3BlcnMg
YW5kIG1heSBiZSBldmVuIHRhbGsgdG8gb3RoZXIgcGVvcGxlIGFib3V0IHdvcmsgd2hpY2ggSSBk
aWQKdG8gYmV0dGVyIHVuZGVyc3RhbmQgdGhlIGNvbW11bml0eSdzIG9waW5pb25zLgoKMjAxNC0w
OC0yNyAzOjE3IEdNVCswNDowMCBQZWRybyBHaWZmdW5pIDxwZmdAZnJlZWJzZC5vcmc+Ogo+IEhp
IEJhcHRpc3RlOwo+Cj4KPiBPbiAwOC8yNi8xNCAxNzoxNiwgQmFwdGlzdGUgRGFyb3Vzc2luIHdy
b3RlOgo+Pgo+PiBPbiBXZWQsIEF1ZyAyNywgMjAxNCBhdCAwMTowODo1OEFNICswNDAwLCBEbWl0
cnkgU2VseXV0aW4gd3JvdGU6Cj4+Pgo+Pj4gSGVsbG8gZXZlcnlvbmUhCj4+Pgo+Pj4gSGVyZSBh
cmUgdGhlIGxhc3QgbmV3cyBhYm91dCB0aGUgVW5pY29kZSBzdXBwb3J0IHByb2plY3RbMF0uCj4+
PiBZb3UgY2FuIGFsd2F5cyBjaGVjayBteSByZXBvc2l0b3J5WzFdLgo+Pj4KPj4+IER1cmluZyB0
aGVzZSBkYXlzIEkgaGFkIGhhcmR3YXJlIHByb2JsZW1zIChteSBIREQgcGVhY2VmdWxseSBkaWVk
KSwgc28KPj4+IGRldmVsb3BtZW50IGRpZG4ndCBwcm9ncmVzcyBzbyBtdWNoIGFzIGJlZm9yZS4g
SG93ZXZlciwgSSd2ZQo+Pj4gZWxpbWluYXRlZCB0aGVzZSBwcm9ibGVtcywgc28gSSB0cmllZCB0
byBmaXggYnVncyBhbmQgcmVvcmdhbml6ZSB0aGUKPj4+IGNvZGUgYXMgbXVjaCBhcyBwb3NzaWJs
ZS4gTm93IGV2ZXJ5dGhpbmcgc2hhbGwgY29tcGlsZS4KPj4+Cj4+PiBJIGRlY2lkZWQgdG8gdXNl
IF9fYXR0cmlidXRlX18oKGNvbnN0cnVjdG9yKSkgYW5kCj4+PiBfX2F0dHJpYnV0ZV9fKChkZXN0
cnVjdG9yKSksIHNpbmNlIEkgZG9uJ3Qga25vdyBpZiB0aGVyZSBleGlzdCBhCj4+PiBiZXR0ZXIg
d2F5IHRvIG9wZW4gYSBmaWxlIG9uY2UgaW4gdGhlIHN0YXJ0dXAgYW5kIGNsb3NpbmcgaXQgd2hl
biBhbGwKPj4+IHJvdXRpbmVzIGNsb3NlLiBJJ3ZlIGZvdW5kIG9uZSBvciB0d28gb2NjdXJyZW5j
ZXMgb2YgdGhpcyBjb25zdHJ1Y3Rpb24KPj4+IGluIEZyZWVCU0QgY29kZTsgQUZBSUNUIGl0IGlz
IHJhdGhlciBjb21tb24gaW4gY2xhbmcgYW5kIGdjYywgc28gSQo+Pj4gZGVjaWRlZCB0byB1c2Ug
aXQuIEhvcGVmdWxseSBpdCB3aWxsIGFsc28gYWxsb3cgdXMgdG8gdXNlIHJvb3QKPj4+IGNvbGxh
dGlvbiBkYXRhYmFzZSBpbiB0aGUgZW1iZWRkZWQgc3lzdGVtcyAoaWYgYW55IHN1Y2ggc3lzdGVt
IHJlYWxseQo+Pj4gbmVlZHMgY29sbGF0aW9uIGFsZ29yaXRobSkuCj4+Pgo+Pj4gQXMgeW91IG1h
eSBrbm93IHdlIG5lZWQgYSB0b29sIHRoYXQgY2FuIGNvbnZlcnQgY29sbGF0aW9uIHRleHQgZmls
ZXMKPj4+IG9idGFpbmVkIGZyb20gdW5pY29kZS5vcmcgdG8gbmV3IGNvbGxhdGlvbiBkYXRhYmFz
ZSAoY29sbGRiKSBmb3JtYXQuCj4+PiBUaGVyZSBpcyBhIHZlcnNpb24gb2YgdGhpcyB0b29sIHdy
aXR0ZW4gaW4gUHl0aG9uCj4+PiAoc2hhcmUvZXhhbXBsZXMvY29sbGRiL2NvbGxkYi5weSkuIElJ
UkMgd2UgY2FuJ3QgdXNlIFB5dGhvbiB3aGVuIHdlCj4+PiBoYXZlIGEgYmFzZSBzeXN0ZW0gdGhv
dWdoLCBzbyBpdCBzZWVtcyB0aGF0IHdlIG5lZWQgdG8gd3JpdHRlbiBzdWNoCj4+PiB0b29sIHVz
aW5nIEMgbGFuZ3VhZ2UuIEkgd2FzIHRoaW5raW5nIG9mIGxleC95YWNjIGNvbWJvOyBJJ3ZlIG5l
dmVyCj4+PiB0cmllZCBpdCwgYnV0IEkgdGhpbmsgaXQgc2hvdWxkbid0IGJlIHRvbyBoYXJkIHRv
IHdyaXRlIGEgdG9vbCB1c2luZwo+Pj4gaXQuIEknZCBsaWtlIHRvIGtub3cgeW91ciBvcGluaW9u
cyBhYm91dCB0aGlzIHRhc2suCj4+PiBJJ3ZlIGFscmVhZHkgd3JpdHRlbiBhIG1hbiBwYWdlIChi
aW4vY29sbGRiL2NvbGxkYi4xKS4gVGhlIG9ubHkgdGhpbmcKPj4+IHdoaWNoIHNlZW1zIGR1Ymlv
dXMgaXMgdGhhdCBJIGRlY2lkZWQgdG8gdXNlIHRoZSBzYW1lIG5hbWUgYXMgZm9yIHRoZQo+Pj4g
bGlicmFyeSBpdHNlbGYgKHdlbGwsIGl0IHNlZW1zIEkgaGF2ZSBhIGxhY2sgb2YgaW1hZ2luYXRp
b24pLiBTbyB3ZQo+Pj4gaGF2ZSBib3RoIGNvbGxkYi4xIGFuZCBjb2xsZGIuMyBtYW4gcGFnZXMu
Cj4+Pgo+Pj4gVGhlIG90aGVyIHRoaW5nIEknZCByZWFsbHkgbGlrZSB0byBkbyBpcyB0byByZWFs
bHkgZm9yY2UgbmV0d29yayBieXRlCj4+PiBvcmRlciBpbiBjb2xsYXRpb24gZGF0YWJhc2UgZm9y
bWF0IChJJ20gc3VyZSBJJ3ZlIHNlZW4gYSB3YXkgdG8gZG8gaXQKPj4+IGluIEJlcmtsZXkgZGF0
YWJhc2VzKS4gSXQncyBhIHBpdHkgdGhhdCBJIGhhdmUgbm8gcGxhdGZvcm0gd2l0aAo+Pj4gYmln
LWVuZGlhbiAob3IgZXZlbiBQRFAhKSBieXRlIG9yZGVyLiBBbnkgaGVscCBoZXJlIGlzIGhpZ2hs
eQo+Pj4gYXBwcmVjaWF0ZWQgKGFzIHdlbGwgYXMgeW91ciB0aG91Z2h0cyBhYm91dCBsZXgveWFj
YywgaS5lLiB0aG91Z2h0cwo+Pj4gd2hldGhlciBpdCBmaXRzIHdlbGwgdG8gbXkgdGFzaykuCj4+
Pgo+Pj4gU2luY2UgR29vZ2xlIFN1bW1lciBvZiBDb2RlIHBlcmlvZCBoYXMgcGFzc2VkLCBJJ2Qg
bGlrZSB0byB0aGFuayBib3RoCj4+PiBteSBtZW50b3JzLCBQZWRybyBhbmQgRGF2aWQsIHdobyBn
YXZlIG1lIGEgaGVscGluZyBoYW5kIGR1cmluZyB0aGlzCj4+PiBwcm9qZWN0LCBhbmQgZXNwZWNp
YWxseSBLb25yYWQgSmFua293c2tpLCB3aG8gZm91bmQgdGltZSB0byBhbnN3ZXIgbXkKPj4+IHF1
ZXN0aW9ucyBhbmQgaGVscCBtZSB0b28uIFRob3VnaCBHU29DIGlzIGNsb3NlZCwgSSdkIGxpa2Ug
dG8gc3RheQo+Pj4gd2l0aCBGcmVlQlNEIHByb2plY3QuIEZpcnN0IG9mIGFsbCwgSSB3YW50IHRv
IGZpbmlzaCBhbmQgYnJpbmcgdG8gbWluZAo+Pj4gdGhpcyBwcm9qZWN0OiBJIGRvbid0IHRoaW5r
IGl0J3MgcmVhbGx5IGZpbmlzaGVkLCBlc3BlY2lhbGx5IGl0cwo+Pj4gdGVzdGluZyBwYXJ0LCB0
aG91Z2ggaXQgc2VlbXMgdGhhdCBuZXcgY29sbGF0aW9uIGFsZ29yaXRobSBjYW4gYWxyZWFkeQo+
Pj4gYmUgdXNlZC4gVGhlbiBJJ2QgbGlrZSB0byB3b3JrIGluIG90aGVyIHBhcnRzIG9mIG15IHBy
b2plY3QsCj4+PiBlc3BlY2lhbGx5IGluIGludGVybmF0aW9uYWxpemF0aW9uIHBhcnRzLiBJJ2Qg
YWxzbyBsaWtlIHRvIGltcHJvdmUgbXkKPj4+IG93biBsaWJyYXJ5LCBxYywgdG8gcHJvdmlkZSBh
IHJpY2ggQVBJIGZvciAqQlNEIGFuZCBQT1NJWCBzeXN0ZW1zLAo+Pj4gc2luY2UgSSBhY3V0ZWx5
IGZlZWwgdGhlIGxhY2sgb2Ygc3VjaCBBUEkuIElmIGl0IGlzIHBvc3NpYmxlIHRvIHN0YXkKPj4+
IHdpdGggcHJvamVjdCwgSSdkIGJlIHZlcnkgaGFwcHkgdG8gZG8gaXQuIDotKQo+Pj4KPj4+IFAu
Uy4gRG9lcyBhbnlvbmUga25vd3MgaG93IHRvIGdldCBkaWZmIGJldHdlZW4gb25seSBmb3IgbXkg
YnJhbmNoCj4+PiAoaS5lLiBmb3IgbXkgcGFydCBvZiByZXBvc2l0b3J5KT8gc3ZuIGRpZmYgLXIg
JEZJUlNUOiRMQVNUIHNlZW1zIHRvCj4+PiBnaXZlIGV2ZXJ5dGhpbmcgd2hhdCBhbGwgRnJlZUJT
RCdzIEdTb0MgaGF2ZSBkb25lLCBzbyBJIG5lZWQgc29tZQo+Pj4gb3RoZXIgY29tbWFuZC4gVGhh
bmtzIGZvciB5b3VyIGhlbHAhCj4+Pgo+Pj4gWzBdIGh0dHBzOi8vd2lraS5mcmVlYnNkLm9yZy9T
dW1tZXJPZkNvZGUyMDE0L1VuaWNvZGUKPj4+IFsxXSBodHRwczovL3NvY3N2bi5mcmVlYnNkLm9y
Zy9zb2Nzdm4vc29jMjAxNC9naG9zdG1hbnNkCj4+Pgo+PiBGaXJzdCB0aGFuayB5b3UgdmVyeSBt
dWNoIGZvciB5b3VyIHdvcmsgb24gdGhpcyBzdWJqZWN0IHRoaXMgaXMgaGlnaGx5Cj4+IG5lZWRl
ZC4KPj4KPj4gQ29uY2VybmluZyB0aGUgZGIgZm9ybWF0IGhhdmUgeW91IHRob3VnaHQgYWJvdXQg
dXNpbmcgdGhlIG5ldyBuZXRic2QKPj4gY29uc3RhbnQKPj4gZGF0YWJhc2UgZm9ybWF0Pwo+Pgo+
PiBJdCBoYXMgc2ltcGxlIEFQSSB3YXkgZWFzaWVyIHRvIHVzZSwgdGhlIGRiIGZvcm1hdCBpcyBl
bmRpYW4gc2FmZSBhbmQKPj4gZmluYWwgZmlsZQo+PiBpcyBzbWFsbGVyIHRoYW4gZXF1aXZhbGVu
dCBpbiBiZGIgZm9ybWF0Lgo+Pgo+PiBMb3RzIG9mIGFyZWFzIG9mIEZyZWVCU0QgY291bGQgYmVu
ZWZpdCBmcm9tIHVzaW5nIHRoaXMgY2RiIGZvcm1hdCBhcyB3ZWxsCj4+IGltaG8uCj4KPgo+IFdo
aWxlIGhlcmUsIGxldCBtZSBjb25ncmF0dWxhdGUgRG1pdHJ5LiBUaGUgVW5pY29kZSBDb2xsYXRp
b24gQWxnb3JpdGhtIGlzCj4gbm90IHNvbWV0aGluZyBlYXN5L2Z1biB0byB3b3JrIHdpdGguCj4K
PiBJbmRlZWQgYm90aCBEYXZpZCBhbmQgS29ucmFkIHN1Z2dlc3RlZCBpdCAob3IgdGlueWNkYiku
IFRoZSByZWFzb24gZm9yCj4gZ29pbmcgYmRiIHdhcyB0aGF0IHdlIGhhZCB0aW1lIGNvbnN0cmFp
bnRzIGFuZCBiZGIgaXMgYWxyZWFkeSBpbiBsaWJjLgo+Cj4gRldJVywgTmV4ZW50YSBraW5kbHkg
cmUtbGljZW5zZWQgbG9jYWxlZGVmIFsxXSBhbmQgdGhlaXIgY29sbGF0aW9uIHN1cHBvcnQKPiBp
biBJbGx1bW9zIHdoaWNoIGJhc2ljYWxseSBpbXBsZW1lbnRzIHRoZWlyIG93biB2ZXJ5IGVmZmlj
aWVudCBmb3JtYXQuIFdlCj4gZW5kZWQgdXAgcmUtdXNpbmcgdGhlIHRvb2xzIHRoYXQgbGliYyBh
bHJlYWR5IGhhcyB0byBiZXR0ZXIgZm9jdXMgb24gdGhlCj4gY29sbGF0aW9uIHBhcnQuCj4KPiBD
aGFuZ2luZyBpdCB0byB1c2UgdGhlIE5ldEJTRCdzIGNkYiBzdXBwb3J0WzFdIHNob3VsZG4ndCBi
ZSBkaWZmaWN1bHQuCj4KPiBBcyBEbWl0cnkgbm90ZWQgdGhlcmUgYXJlIHN0aWxsIGRldGFpbHMg
dG8gd29yayBvdXQgYW5kIHdlIGhhdmUgdG8gcnVuIHRlc3RzCj4gYW5kIGdldCB0aGUgY29kZSBy
ZXZpZXdlZCBidXQgYWxsIGluIGFsbCBJIGFtIHZlcnkgc2F0aXNmaWVkIHdpdGggdGhlCj4gYWR2
YW5jZQo+IGluIHRoaXMgR1NvQy4KPgo+IEJlc3QgcmVnYXJkcywKPgo+IFBlZHJvLgo+Cj4gWzFd
IGh0dHBzOi8vZ2l0aHViLmNvbS9OZXhlbnRhL2lsbHVtb3MtbmV4ZW50YS90cmVlL3JlcHVibGlz
aC1sb2NhbGVkZWYKPiBbMl0gaHR0cDovL2N2c3dlYi5uZXRic2Qub3JnL2JzZHdlYi5jZ2kvc3Jj
L2xpYi9saWJjL2NkYi8KPgoKCgotLSAKV2l0aCBiZXN0IHJlZ2FyZHMsCkRtaXRyeSBTZWx5dXRp
bgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmcmVlYnNk
LWkxOG5AZnJlZWJzZC5vcmcgbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5mcmVlYnNkLm9yZy9t
YWlsbWFuL2xpc3RpbmZvL2ZyZWVic2QtaTE4bgpUbyB1bnN1YnNjcmliZSwgc2VuZCBhbnkgbWFp
bCB0byAiZnJlZWJzZC1pMThuLXVuc3Vic2NyaWJlQGZyZWVic2Qub3JnIg==