delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/08/20/16:43:23

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS
X-Spam-Check-By: sourceware.org
MIME-Version: 1.0
Date: Thu, 20 Aug 2009 21:43:01 +0100
Message-ID: <416096c60908201343g6134c93ao3f4646f6e3fc0dfe@mail.gmail.com>
Subject: KOI8
From: Andy Koppe <andy DOT koppe AT gmail DOT com>
To: cygwin AT cygwin DOT com
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

--001485394218349a2f047198cc10
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

One fairly important character encoding not yet supported by Cygwin
1.7 is KOI8. Well, two actually, because there are slightly different
versions for Russian and Ukrainian: KOI8-R and KOI8-U, aka Windows
codepages 20866 and 21866. Apparently they're de-facto standards for
Unix machines and the  in the former Soviet Union. (Windows uses
CP1251, whereas ISO-8859-5 (Cyrillic) never caught on.)

Cygwin's Midnight Commander actually uses KOI8 if the locale is set to
"ru" or "uk", even if a charset is specified explicitly, e.g.
"ru.CP1251". Hence you get gibberish where a helpful hint in the
user's language should be. (Of course that's primarily a shortcoming
in mc.)

Anyway, to help support them, the attached patch adds the KOI8
charsets to newlib's Unicode conversion and ctype tables. I took the
conversion tables from iconv and adapted the ctype tables from the
CP1251 version. Since KOI8 has printable characters in the C1 range
from 0x80 to 0x9F, it seems easiest to treat them as Windows
codepages.

To complete support, "KOI8-R" and "KOI8-U" would need to be recognised
in _setlocale_r and mapped to codepages 20866 and 21866.

Andy

--001485394218349a2f047198cc10
Content-Type: application/octet-stream; name="koi8.patch"
Content-Disposition: attachment; filename="koi8.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fylyc2k70

PyBrb2k4LnBhdGNoCkluZGV4OiBjdHlwZS9jdHlwZV9jcC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9uZXdsaWIv
bGliYy9jdHlwZS9jdHlwZV9jcC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjMKZGlmZiAtdSAtcjEuMyBjdHlwZV9jcC5oCi0tLSBjdHlwZS9jdHlwZV9j
cC5oCTIxIEFwciAyMDA5IDIwOjA5OjAxIC0wMDAwCTEuMworKysgY3R5cGUv
Y3R5cGVfY3AuaAkyMCBBdWcgMjAwOSAxOTo0OToxMiAtMDAwMApAQCAtMzk3
LDYgKzM5Nyw0MyBAQAogCV9MLAlfTCwJX1AsCV9MLAlfTCwJX0wsCV9MLAlf
UCwgXAogCV9MLAlfTCwJX0wsCV9MLAlfTCwJX0wsCV9QCiAjZGVmaW5lIF9D
VFlQRV9DUDEyNThfMjU1IF9MCisjZGVmaW5lIF9DVFlQRV9DUDIwODY2XzEy
OF8yNTQgXAorICAgCV9QLAlfUCwJX1AsCV9QLAlfUCwJX1AsCV9QLAlfUCwg
XAorCV9QLAlfUCwJX1AsCV9QLAlfUCwJX1AsCV9QLAlfUCwgXAorCV9QLAlf
UCwJX1AsCV9QLAlfUCwJX1AsCV9QLAlfUCwgXAorCV9QLAlfUCwJX1N8X0Is
CV9QLAlfUCwJX1AsCV9QLAlfUCwgXAorCV9QLAlfUCwJX1AsCV9MLAlfUCwJ
X1AsCV9QLAlfUCwgXAorCV9QLAlfUCwJX1AsCV9QLAlfUCwJX1AsCV9QLAlf
UCwgXAorCV9QLAlfUCwJX1AsCV9VLAlfUCwJX1AsCV9QLAlfUCwgXAorCV9Q
LAlfUCwJX1AsCV9QLAlfUCwJX1AsCV9QLAlfUCwgXAorCV9MLAlfTCwJX0ws
CV9MLAlfTCwJX0wsCV9MLAlfTCwgXAorCV9MLAlfTCwJX0wsCV9MLAlfTCwJ
X0wsCV9MLAlfTCwgXAorCV9MLAlfTCwJX0wsCV9MLAlfTCwJX0wsCV9MLAlf
TCwgXAorCV9MLAlfTCwJX0wsCV9MLAlfTCwJX0wsCV9MLAlfTCwgXAorCV9V
LAlfVSwJX1UsCV9VLAlfVSwJX1UsCV9VLAlfVSwgXAorCV9VLAlfVSwJX1Us
CV9VLAlfVSwJX1UsCV9VLAlfVSwgXAorCV9VLAlfVSwJX1UsCV9VLAlfVSwJ
X1UsCV9VLAlfVSwgXAorCV9VLAlfVSwJX1UsCV9VLAlfVSwJX1UsCV9VCisj
ZGVmaW5lIF9DVFlQRV9DUDIwODY2XzI1NSBfVQorI2RlZmluZSBfQ1RZUEVf
Q1AyMTg2Nl8xMjhfMjU0IFwKKyAgIAlfUCwJX1AsCV9QLAlfUCwJX1AsCV9Q
LAlfUCwJX1AsIFwKKwlfUCwJX1AsCV9QLAlfUCwJX1AsCV9QLAlfUCwJX1As
IFwKKwlfUCwJX1AsCV9QLAlfUCwJX1AsCV9QLAlfUCwJX1AsIFwKKwlfUCwJ
X1AsCV9TfF9CLAlfUCwJX1AsCV9QLAlfUCwJX1AsIFwKKwlfUCwJX1AsCV9Q
LAlfTCwJX0wsCV9QLAlfTCwJX0wsIFwKKwlfUCwJX1AsCV9QLAlfUCwJX1As
CV9MLAlfUCwJX1AsIFwKKwlfUCwJX1AsCV9QLAlfVSwJX1UsCV9QLAlfVSwJ
X1UsIFwKKwlfUCwJX1AsCV9QLAlfUCwJX1AsCV9VLAlfUCwJX1AsIFwKKwlf
TCwJX0wsCV9MLAlfTCwJX0wsCV9MLAlfTCwJX0wsIFwKKwlfTCwJX0wsCV9M
LAlfTCwJX0wsCV9MLAlfTCwJX0wsIFwKKwlfTCwJX0wsCV9MLAlfTCwJX0ws
CV9MLAlfTCwJX0wsIFwKKwlfTCwJX0wsCV9MLAlfTCwJX0wsCV9MLAlfTCwJ
X0wsIFwKKwlfVSwJX1UsCV9VLAlfVSwJX1UsCV9VLAlfVSwJX1UsIFwKKwlf
VSwJX1UsCV9VLAlfVSwJX1UsCV9VLAlfVSwJX1UsIFwKKwlfVSwJX1UsCV9V
LAlfVSwJX1UsCV9VLAlfVSwJX1UsIFwKKwlfVSwJX1UsCV9VLAlfVSwJX1Us
CV9VLAlfVQorI2RlZmluZSBfQ1RZUEVfQ1AyMTg2Nl8yNTUgX1UKKwogCiBl
eHRlcm4gaW50IF9fY3BfaW5kZXggKGNvbnN0IGNoYXIgKmNoYXJzZXRfZXh0
KTsKIApAQCAtNDA1LDcgKzQ0Miw3IEBACiAjaWZuZGVmIF9fQ1lHV0lOX18K
IHN0YXRpYyBfQ09OU1QKICNlbmRpZgotY2hhciBfX2N0eXBlX2NwWzIyXVsx
MjggKyAyNTZdID0geworY2hhciBfX2N0eXBlX2NwWzI0XVsxMjggKyAyNTZd
ID0gewogICB7IF9DVFlQRV9DUDQzN18xMjhfMjU0LAogICAgIDAsCiAgICAg
X0NUWVBFX0RBVEFfMF8xMjcsCkBAIC01MzgsNiArNTc1LDE4IEBACiAgICAg
X0NUWVBFX0NQMTI1OF8xMjhfMjU0LAogICAgIF9DVFlQRV9DUDEyNThfMjU1
CiAgIH0sCisgIHsgX0NUWVBFX0NQMjA4NjZfMTI4XzI1NCwKKyAgICAwLAor
ICAgIF9DVFlQRV9EQVRBXzBfMTI3LAorICAgIF9DVFlQRV9DUDIwODY2XzEy
OF8yNTQsCisgICAgX0NUWVBFX0NQMjA4NjZfMjU1CisgIH0sCisgIHsgX0NU
WVBFX0NQMjE4NjZfMTI4XzI1NCwKKyAgICAwLAorICAgIF9DVFlQRV9EQVRB
XzBfMTI3LAorICAgIF9DVFlQRV9DUDIxODY2XzEyOF8yNTQsCisgICAgX0NU
WVBFX0NQMjE4NjZfMjU1CisgIH0sCiB9OwogCiAjZWxzZSAvKiAhZGVmaW5l
ZChBTExPV19ORUdBVElWRV9DVFlQRV9JTkRFWCkgKi8KQEAgLTY1Myw2ICs3
MDIsMTYgQEAKICAgICBfQ1RZUEVfQ1AxMjU4XzEyOF8yNTQsCiAgICAgX0NU
WVBFX0NQMTI1OF8yNTUKICAgfSwKKyAgeyAwLAorICAgIF9DVFlQRV9EQVRB
XzBfMTI3LAorICAgIF9DVFlQRV9DUDIwODY2XzEyOF8yNTQsCisgICAgX0NU
WVBFX0NQMjA4NjZfMjU1CisgIH0sCisgIHsgMCwKKyAgICBfQ1RZUEVfREFU
QV8wXzEyNywKKyAgICBfQ1RZUEVfQ1AyMTg2Nl8xMjhfMjU0LAorICAgIF9D
VFlQRV9DUDIxODY2XzI1NQorICB9LAogfTsKIAogI2VuZGlmIC8qIEFMTE9X
X05FR0FUSVZFX0NUWVBFX0lOREVYICovCkluZGV4OiBzdGRsaWIvc2JfY2hh
cnNldHMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L3NyYy9zcmMvbmV3bGliL2xpYmMvc3RkbGliL3NiX2NoYXJzZXRzLmMsdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuMQpkaWZmIC11IC1yMS4xIHNiX2NoYXJz
ZXRzLmMKLS0tIHN0ZGxpYi9zYl9jaGFyc2V0cy5jCTI0IE1hciAyMDA5IDEw
OjEzOjI3IC0wMDAwCTEuMQorKysgc3RkbGliL3NiX2NoYXJzZXRzLmMJMjAg
QXVnIDIwMDkgMTk6NDk6MTQgLTAwMDAKQEAgLTIwMyw3ICsyMDMsNyBAQAog
ICAgdmFsdWUgKGZ1bmN0aW9uIF9fY3BfaW5kZXgpLCB0aGUgc2Vjb25kIGlu
ZGV4IGlzIHRoZSB2YWx1ZSBvZiB0aGUKICAgIGluY29taW5nIGNoYXJhY3Rl
ciAtIDB4ODAuCiAgICBWYWx1ZXMgPCAweDgwIGRvbid0IGhhdmUgdG8gYmUg
Y29udmVydGVkIGFueXdheS4gKi8KLXdjaGFyX3QgX19jcF9jb252WzIyXVsw
eDgwXSA9IHsKK3djaGFyX3QgX19jcF9jb252WzI0XVsweDgwXSA9IHsKICAg
LyogQ1A0MzcgKi8KICAgeyAweGM3LCAweGZjLCAweGU5LCAweGUyLCAweGU0
LCAweGUwLCAweGU1LCAweGU3LAogICAgIDB4ZWEsIDB4ZWIsIDB4ZTgsIDB4
ZWYsIDB4ZWUsIDB4ZWMsIDB4YzQsIDB4YzUsCkBAIC01NzcsNyArNTc3LDQx
IEBACiAgICAgMHhlMCwgMHhlMSwgMHhlMiwgMHgxMDMsIDB4ZTQsIDB4ZTUs
IDB4ZTYsIDB4ZTcsCiAgICAgMHhlOCwgMHhlOSwgMHhlYSwgMHhlYiwgMHgz
MDEsIDB4ZWQsIDB4ZWUsIDB4ZWYsCiAgICAgMHgxMTEsIDB4ZjEsIDB4MzIz
LCAweGYzLCAweGY0LCAweDFhMSwgMHhmNiwgMHhmNywKLSAgICAweGY4LCAw
eGY5LCAweGZhLCAweGZiLCAweGZjLCAweDFiMCwgMHgyMGFiLCAweGZmIH0K
KyAgICAweGY4LCAweGY5LCAweGZhLCAweGZiLCAweGZjLCAweDFiMCwgMHgy
MGFiLCAweGZmIH0sCisgIC8qIENQMjA4NjYgKEtPSTgtUikgKi8KKyAgeyAw
eDI1MDAsMHgyNTAyLDB4MjUwYywweDI1MTAsMHgyNTE0LDB4MjUxOCwweDI1
MWMsMHgyNTI0LAorICAgIDB4MjUyYywweDI1MzQsMHgyNTNjLDB4MjU4MCww
eDI1ODQsMHgyNTg4LDB4MjU4YywweDI1OTAsCisgICAgMHgyNTkxLDB4MjU5
MiwweDI1OTMsMHgyMzIwLDB4MjVhMCwweDIyMTksMHgyMjFhLDB4MjI0OCwK
KyAgICAweDIyNjQsMHgyMjY1LDB4YTAsMHgyMzIxLDB4YjAsMHhiMiwweGI3
LDB4ZjcsCisgICAgMHgyNTUwLDB4MjU1MSwweDI1NTIsMHg0NTEsMHgyNTUz
LDB4MjU1NCwweDI1NTUsMHgyNTU2LAorICAgIDB4MjU1NywweDI1NTgsMHgy
NTU5LDB4MjU1YSwweDI1NWIsMHgyNTVjLDB4MjU1ZCwweDI1NWUsCisgICAg
MHgyNTVmLDB4MjU2MCwweDI1NjEsMHg0MDEsMHgyNTYyLDB4MjU2MywweDI1
NjQsMHgyNTY1LAorICAgIDB4MjU2NiwweDI1NjcsMHgyNTY4LDB4MjU2OSww
eDI1NmEsMHgyNTZiLDB4MjU2YywweGE5LAorICAgIDB4NDRlLDB4NDMwLDB4
NDMxLDB4NDQ2LDB4NDM0LDB4NDM1LDB4NDQ0LDB4NDMzLAorICAgIDB4NDQ1
LDB4NDM4LDB4NDM5LDB4NDNhLDB4NDNiLDB4NDNjLDB4NDNkLDB4NDNlLAor
ICAgIDB4NDNmLDB4NDRmLDB4NDQwLDB4NDQxLDB4NDQyLDB4NDQzLDB4NDM2
LDB4NDMyLAorICAgIDB4NDRjLDB4NDRiLDB4NDM3LDB4NDQ4LDB4NDRkLDB4
NDQ5LDB4NDQ3LDB4NDRhLAorICAgIDB4NDJlLDB4NDEwLDB4NDExLDB4NDI2
LDB4NDE0LDB4NDE1LDB4NDI0LDB4NDEzLAorICAgIDB4NDI1LDB4NDE4LDB4
NDE5LDB4NDFhLDB4NDFiLDB4NDFjLDB4NDFkLDB4NDFlLAorICAgIDB4NDFm
LDB4NDJmLDB4NDIwLDB4NDIxLDB4NDIyLDB4NDIzLDB4NDE2LDB4NDEyLAor
ICAgIDB4NDJjLDB4NDJiLDB4NDE3LDB4NDI4LDB4NDJkLDB4NDI5LDB4NDI3
LDB4NDJhIH0sCisgIC8qIENQMjE4NjYgKEtPSTgtVSkgKi8KKyAgeyAweDI1
MDAsMHgyNTAyLDB4MjUwYywweDI1MTAsMHgyNTE0LDB4MjUxOCwweDI1MWMs
MHgyNTI0LAorICAgIDB4MjUyYywweDI1MzQsMHgyNTNjLDB4MjU4MCwweDI1
ODQsMHgyNTg4LDB4MjU4YywweDI1OTAsCisgICAgMHgyNTkxLDB4MjU5Miww
eDI1OTMsMHgyMzIwLDB4MjVhMCwweDIyMTksMHgyMjFhLDB4MjI0OCwKKyAg
ICAweDIyNjQsMHgyMjY1LDB4YTAsMHgyMzIxLDB4YjAsMHhiMiwweGI3LDB4
ZjcsCisgICAgMHgyNTUwLDB4MjU1MSwweDI1NTIsMHg0NTEsMHg0NTQsMHgy
NTU0LDB4NDU2LDB4NDU3LAorICAgIDB4MjU1NywweDI1NTgsMHgyNTU5LDB4
MjU1YSwweDI1NWIsMHg0OTEsMHgyNTVkLDB4MjU1ZSwKKyAgICAweDI1NWYs
MHgyNTYwLDB4MjU2MSwweDQwMSwweDQwNCwweDI1NjMsMHg0MDYsMHg0MDcs
CisgICAgMHgyNTY2LDB4MjU2NywweDI1NjgsMHgyNTY5LDB4MjU2YSwweDQ5
MCwweDI1NmMsMHhhOSwKKyAgICAweDQ0ZSwweDQzMCwweDQzMSwweDQ0Niww
eDQzNCwweDQzNSwweDQ0NCwweDQzMywKKyAgICAweDQ0NSwweDQzOCwweDQz
OSwweDQzYSwweDQzYiwweDQzYywweDQzZCwweDQzZSwKKyAgICAweDQzZiww
eDQ0ZiwweDQ0MCwweDQ0MSwweDQ0MiwweDQ0MywweDQzNiwweDQzMiwKKyAg
ICAweDQ0YywweDQ0YiwweDQzNywweDQ0OCwweDQ0ZCwweDQ0OSwweDQ0Nyww
eDQ0YSwKKyAgICAweDQyZSwweDQxMCwweDQxMSwweDQyNiwweDQxNCwweDQx
NSwweDQyNCwweDQxMywKKyAgICAweDQyNSwweDQxOCwweDQxOSwweDQxYSww
eDQxYiwweDQxYywweDQxZCwweDQxZSwKKyAgICAweDQxZiwweDQyZiwweDQy
MCwweDQyMSwweDQyMiwweDQyMywweDQxNiwweDQxMiwKKyAgICAweDQyYyww
eDQyYiwweDQxNywweDQyOCwweDQyZCwweDQyOSwweDQyNywweDQyYSB9CiB9
OwogI2VuZGlmIC8qIF9NQl9FWFRFTkRFRF9DSEFSU0VUU19XSU5ET1dTICov
CiAKQEAgLTY4Nyw2ICs3MjEsMTIgQEAKICAgICBjYXNlIDEyNTg6CiAgICAg
ICBjcF9pZHggPSAyMTsKICAgICAgIGJyZWFrOworICAgIGNhc2UgMjA4NjY6
CisgICAgICBjcF9pZHggPSAyMjsKKyAgICAgIGJyZWFrOworICAgIGNhc2Ug
MjE4NjY6CisgICAgICBjcF9pZHggPSAyMzsKKyAgICAgIGJyZWFrOwogICAg
IGRlZmF1bHQ6CiAgICAgICBjcF9pZHggPSAtMTsKICAgICAgIGJyZWFrOwo=


--001485394218349a2f047198cc10
Content-Type: text/plain; charset=us-ascii

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
--001485394218349a2f047198cc10--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019