AminetAminet
Search:
82738 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/sys/russian45.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Russian language driver v45
Author:Michael_Malyshev at mail.ru
Uploader:Michael_Malyshev mail ru
Type:util/sys
Version:45.2+ (02.04.2015)
Architecture:m68k-amigaos >= 3.0.0
Date:2015-04-02
Download:http://aminet.net/util/sys/russian45.lha - View contents
Readme:http://aminet.net/util/sys/russian45.readme
Downloads:622
----------------------------------------------------------------------------
 sys:locale/languages/russian.language  v45.2
 sys:locale/countries/russia.country    v45.2
----------------------------------------------------------------------------

 This is an updated language driver for Russian language in Amiga-1251
 codeset for use on Classic 68k AmigaOS 3.x systems

 IMPORTANT!  This is a CRITICAL UPDATE to AmigaOS 3.9 files, please update!

 Old v44.x files do not work or give bogus results with gcc complied code.
 eg. MUI 3.9+, newer MCC classes (BetterString, TextEditor...)


 HISTORY:
 ========

 v45.2+ (02.04.2015) International compliance

 - changed the country currency from RUR to RUB according to latest ISO 4217
   specification and recommendations from Central Bank


 v45.2 (14.03.2015) Upcoming 70th anniversary of WWII edition

 - added some workarounds for compilers and bad code that feeds signed
   chars to locale. (Signed negative char values are converted back to
   unsigned, so it should make some software that failed before with
   Russian chars (in fact any chars above ASCII 127) finally work).
   But it is still highly recommended to fix the software and send char
   queries to locale in proper 0-255 range.

 - added some sample example code on how to use some of locale functions

 - added preliminary UTF support, please note the following:

   The following functions will report TRUE for chars above 0x000000ff
   This is usually true since most of them are usually native chars.
   IsAlNum()
   IsAlpha()
   IsGraph()
   IsPrint()

   The following functions will report FALSE for chars above 0x000000ff
   This is not always correct, but without a big table of chars it's the
   best choice at the moment, can be expanded if and when required.
   IsLower()
   IsUpper()
   IsPunct()
   
   The following functions are managed by system locale library and will
   usually report TRUE for chars above 0x000000ff, this is usually wrong
   and will require a major overhaul but currently as far a I know these
   functions are not used anywhere, besides, it might be better to use
   codesets.library for these and for proper UTF support if required.
   IsCntrl()
   IsSpace()
   IsDigit()
   IsXDigit()


 v45.1 (09.05.2014) Victory Edition

 - based on original code base of v44.x drivers by Oleg Sergeev

 - fixed functions to work with gcc code
   (guaranteed return 0 (FALSE) or 255 (TRUE))
   IsAlNum()
   IsAlpha()
   IsGraph()
   IsLower()
   IsUpper()
   IsPrint()
   IsPunct()

 - function GetCodeSet() now returns 2104 (Amiga-1251 regged IANA MIBenum)

 - proper language id = rus

 - SC_COLLATE2 conversion now uses standard GOST 7.79 (ISO 9) Table B
   and should be able to make backward conversion

 - now uses RUR for local currency (ISO Standard)

 - updated character definition table

 - other minor fixes


----------------------------------------------------------------------------

 NOTES:
 ======

 Special additional features of StrCnv(), just add new defines to your code

 #define SC_NATIVE     -1  /* compare 1:1 (case sensitive)           */
 #define SC_TO_KOI8    -2  /* convert to KOI8 / compare to KOI8      */
 #define SC_FROM_KOI8  -3  /* convert from KOI8 / compare to KOI8    */
 #define SC_TO_ISO     -4  /* convert to ISO / compare to ISO        */
 #define SC_FROM_ISO   -5  /* convert from ISO / compare to ISO      */
 #define SC_TO_866     -6  /* convert to 866 / compare to 866        */
 #define SC_FROM_866   -7  /* convert from 866 / compare to 866      */
 #define SC_FROM_LATIN -8  /* convert from latin / compare to latin  */ 


 SC_COLLATE2 converts/transliterates Cyrillic to Latin multichar text using
 GOST 7.79 (ISO 9) Table B as approved standard for Russia since 22.06.2000

 SC_FROM_LATIN converts Latin translit text back to Cyrillic Amiga-1251.
 Backward conversion is not 100% guaranteed, but should work 1:1, if the
 original text is standard and had not been tweaked to brake the algorithm.

 All functions that need to return a BOOL (0 or 255) will now always return
 a perfect 0 (FALSE) or 255 (TRUE) value, hopefully ;-) under all gcc/vbcc/sas
 compiled code and conditions, so no bogus numbers anymore.

----------------------------------------------------------------------------

 ÏÐÈÌÅ×ÀÍÈß:
 ===========

 Ýòî ÊÐÈÒÈ×ÅÑÊÎÅ îáíîâëåíèå äëÿ äðàéâåðà
ðóññêîãî ÿçûêà äëÿ 68k AmigaOS 3.õ  Èñïðàâëåí ðÿä
ñóùåñòâåííûõ ïðîáëåì ñ ðàáîòîé ñèñòåìû è
ïðîãðàìì ñîáðàííûõ  êîìïèëÿòîðîì gcc. Åñëè ó
Âàñ áûëè ïðîáëåìû ñ MUI è ñòðàííîå ïîâåäåíèå
ïðè  âûäåëåíèÿ òåêñòà (äàæå ãóðó), òî òåïåðü
âñå äîëæíî ðàáîòàòü êàê ÷àñû.
 Ýòî êàñàåòñÿ MUI 3.9+ è ìíîãèõ îáíîâë¸ííûõ MCC
êëàññîâ. Âåðîÿòíî òåïåðü  çàðàáîòàþò è
äðóãèå ãëþ÷íûå ïðîãðàììû, èñïîëüçóþùèå
ôóíêöèè locale.library.


 ÂÀÆÍÎ!  Äëÿ óñòàíîâêè íóæíî ñêîïèðîâàòü
ôàéëû â ñîîòâåòñòâóþùèå ìåñòà è 
îáÿçàòåëüíî â íàñòðîéêàõ ñèñòåìû Prefs/Locale
ñáðîñèòü è âûáðàòü ÿçûêè çàíîâî.
 Ýòî íåîáõîäèìî äëÿ óñòàíîâêè îïðåäåë¸ííûõ
ïåðåìåííûõ â ñèñòåìå, êîòîðûå  áåðóòñÿ èç
óñòàíîâëåííûõ äðàéâåðîâ è íå ìåíÿþòñÿ ïðè
çàìåíå äðàéâåðîâ!


 Ôóíêöèÿ òðàíñëèòåðàöèè èñïîëüçóåò
ïðèíÿòûé â Ðîññèè ñ 22.06.2000 ñòàíäàðò  ÃÎÑÒ 7.79
(ISO 9) ïî Òàáëèöå Á (ââåäåíà â äåéñòâèå â 2002
ãîäó).

 ÃÎÑÒ 7.79-2000 — àäàïòàöèÿ ÈÑÎ 9, ïðèíÿòàÿ â
Ðîññèè è íåêîòîðûõ ñòðàíàõ ÑÍÃ  ÈÑÎ 9:1995 —
äåéñòâóþùèé ñòàíäàðò, ïðèíÿòûé
Ìåæäóíàðîäíîé îðãàíèçàöèåé ïî              
ñòàíäàðòèçàöèè. 

 Òàáëèöà Á / Ñèñòåìà Á — èñïîëüçóþòñÿ ëèøü
ñî÷åòàíèÿ áàçîâûõ ëàòèíñêèõ áóêâ  ïðè
òðàíñëèòåðàöèè êèðèëëèöû (÷àñòü áóêâ ìîæåò
çàìåíÿòüñÿ íà 2 èëè 3 áóêâû)

 Äëÿ áóêâû Ö âîçìîæíî äâà âàðèàíòà
òðàíñëèòåðàöèè - ëàòèíñêîé áóêâîé Ñ,  ëèáî
ñî÷åòàíèåì CZ.  Ñòàíäàðò ðåêîìåíäóåò
óïîòðåáëÿòü Ñ ïåðåä áóêâàìè  I, Å, Y, J, à â
îñòàëüíûõ ñëó÷àÿõ — CZ. Òåêóùàÿ âåðñèÿ
äðàéâåðà èñïîëüçóåò  CZ âî âñåõ ñëó÷àÿõ, íî
ïîíèìàåò C è CZ êàê Ö ïðè îáðàòíîì
ïðåîáðàçîâàíèå.

 Äëÿ ñòàíäàðòíûõ òåêñòîâ òðàíñëèòåðàöèÿ
äîëæíà áûòü ðåâåðñèâíîé 1:1,  íî àëãîðèòì
èìååò îïðåäåë¸ííûå îãðàíè÷åíèÿ è åãî ìîæíî
ñëîìàòü.
 Ê ïðèìåðó ïîñëåäîâàòåëüíîñòü èç áóêâ
"ÜÚÜÚÜ" ïðè îáðàòíîì ïðåîáðàçîâàíèå  íå äàñò
èñõîäíûé âàðèàíò. Åùå àëãîðèòì ïîïûòàåòñÿ
óãàäàòü, êîãäà ñòàâèòü  çàãëàâíóþ áóêâó Ú
èëè Ü, è êîãäà ñòðî÷íóþ, îòñëåæèâàÿ
ïðåäûäóùèå áóêâû â  òåêñòå. Â òåîðèè
ÇÀÃËÀÂÍÛÉ òåêñò áóäåò ïðåîáðàçîâàí
êîððåêòíî, åñëè Ú èëè Ü  íå ÿâëÿåòñÿ
îäèíî÷íîé èëè ïåðâîé áóêâîé â ñëîâå.
  ïðî÷åì òàêèõ ñèòóàöèé íå äîëæíî áûòü,
åñëè èõ íå ñîçäàòü èñêóññòâåííî.


 Ïðîñòûå òåñòîâûå ïðîãðàììû äëÿ
òåñòèðîâàíèÿ ïðèëàãàþòñÿ.
 Äëÿ àíàëèçà äàííûõ ðåêîìåíäóåòñÿ
ïåðåíàïðàâèòü âûâîä â ôàéë >RAM:output.txt  Âñå
ðåçóëüòàòû äîëæíû áûòü 0 èëè 1, åñëè öèôðà
äðóãàÿ, òî ó Âàñ ïðîáëåìû.


 Â àðõèâå äîáàâëåíî äâå äîïîëíèòåëüíûå
âåðñèè äðàéâåðà

 russian.language_rusmix

 Â ýòîé âåðñèè êîðîòêèå íàèìåíîâàíèÿ
ìåñÿöåâ è äíåé íåäåëè çàìåíåíû íà 
àíãëèéñêèå, â îñòàëüíîì ôóíêöèîíàë
èäåíòè÷íûé. Ìîæåò áûòü ïîëåçíûì, åñëè  Âû
èñïîëüçóåòå ñòàðûå ïðîãðàììû íå
ó÷èòûâàþùèå ëîêàëèçàöèþ (îñîáåííî 
àêòóàëüíî äëÿ íåêîòîðûõ ñåòåâûõ ïðîãðàìì
òèïà FTP, êîòîðûì ìîæåò ñíîñèòü  êðûøó èëè
òóïÿò ïðîãðàììû ïðè ïîäêëþ÷åíèþ ê ñåðâåðó
ïîä óïðàâëåíèåì AmigaOS,  êîòîðûé ïûòàåòñÿ
îáùàòüñÿ íà ðóññêîì ;-).


 russian.language_ruseng

 Â ýòîé âåðñèè âñå òåêñòîâûå ñòðîêè
ñîîòâåòñòâóþò àíãëèéñêèì êàê è â 
îðèãèíàëüíîì english.language, íî äîñòóïíû âñå
äîïîëíèòåëüíûå ôóíêöèè äëÿ  ïîääåðæêè
Amiga-1251. Äëÿ òåõ, êòî íå ëþáèò ëîêàëèçîâàííûå
ïðîãðàììû,  íî õî÷åò ïîëíîöåííîé ïîääåðæêè
ðóññêîãî ÿçûêà â ñèñòåìå.


 Äëÿ óñòàíîâêè ïåðåèìåíîâàòü â russian.language


 Äëÿ ïðîãðàììèñòîâ, åñëè íàäî îïðåäåëèòü
âåðñèþ äðàéâåðà, ìîæíî ïðîâåðèòü  îïèñàíèå
â $VER: èëè language id = rusmix è ruseng ñîîòâåòñòâåííî


 Ïîêà language id âðîäå íèêòî íå èñïîëüçîâàë, íî
åñëè âäðóã ïîòðåáóåòñÿ,  òî â ýòèõ
ñïåöèàëüíûõ âåðñèÿõ, åãî ìîæíî çàìåíèòü íà
rus â HEX ðåäàêòîðå,  äëÿ ïîëíîé ñîâìåñòèìîñòè
ñî ñòàíäàðòîì.  ïðî÷åì íà÷èíàÿ ñ v50
äîáàâëåíî  ìíîãî äîïîëíèòåëüíûõ ïîëåé è íà
íîâûõ ñèñòåìàõ ìîæíî èñïîëüçîâàòü èõ.

 Ìîæíî êîíå÷íî áûëî èñïîëüçîâàòü íàçâàíèå
òèïà russian_mix.language, íî  êëàññè÷åñêàÿ ñèñòåìà â
ýòîì ñëó÷àå áóäåò èñêàòü êàòàëîãè â
äèðåêòîðèè  Locale:russian_mix/ , ÷òî íå ñîâñåì
óäîáíî.  v50 ýòî ðàáîòàåò íåìíîãî èíà÷å.


 Èñïîëüçóåòñÿ ìåæäóíàðîäíûé ðàçäåëèòåëü
öåëîé è äðîáíîé ÷àñòè ÷èñåë (.) 


 Îñòà¸òñÿ îòêðûòûì âîïðîñ ïî îïðåäåëåíèþ
ñâîéñòâ êàæäîãî ñèìâîëà, â äàííîé  âåðñèè
óñòàíîâëåíû àòðèáóòû àíàëîãè÷íûå
àíãëèéñêîìó ÿçûêó äëÿ ïåðâîé ïîëîâèíû 
òàáëèöû. Ñèìâîëû ñ 9 ïî 13 â ñèñòåìå ïî
óìîë÷àíèþ îïðåäåëåíû êàê ïå÷àòàåìûå,  íî
ïðàâèëüíî ëè ýòî?  È àíàëîãè÷íî äëÿ ñèìâîëîâ
128-159 (x80-x9F), ñåé÷àñ  îíè îïðåäåëåíû êàê
ïå÷àòàåìûå è êàê ïóíêòóàöèÿ (åñëè
èñïîëüçîâàòü ðàñøèðåííóþ  òàáëèöó Amiga­1251X,
òî òàì åñòü ïñåâäîãðàôèêà, èëè åñëè
èñïîëüçîâàòü øðèôòû  â 866 êîäèðîâêå, ê
ïðèìåðó â òåðìèíàëüíîé ïðîãðàììå, òàì òîæå
ñèìâîëû) õîòÿ  ïîä ñèñòåìîé ýòîò äèàïàçîí
äîëæåí áûòü îïðåäåë¸í òîëüêî êàê
êîíòðîëüíûå ñèìâîëû.

 Æäåì Âàøåãî ìíåíèÿ!


 PS: Åñëè Âû õîòèòå íàïèñàòü ìíå e-mail
ïîæàëóéñòà óêàæèòå òåìó ïèñüìà AMIGA


 PPS: Èçâèíÿþñü çà çàäåðæêó ñ ðåëèçîì íà AmiNET,   
   áûë î÷åíü çàíÿò ïàðàëëåëüíûìè
èíòåðåñíûìè ïðîåêòàìè.


 - cut -

 THIS SOFTWARE IS FREEWARE !   YOU ARE NOT ALLOWED TO SELL IT,  PERMISSION  IS
 GRANTED TO DISTRIBUTE THIS BY ANY MEANS AS LONG AS ALL THE RULES ARE KEPT.

 THERE IS  NO LIABILITY TO THIS SOFTWARE-PACKAGE, IN REFERENCE TO THE ASSERTED 
LAWS. THE COPYRIGHT OWNERS, AND/OR A THIRD PARTY, PLACE THIS SOFTWARE PACKAGE 
AT  YOUR  DISPOSAL  "AS  IS"  (EXCEPT  WHERE THIS IS FIXED ANYWHERE ELSE IN A 
WRITTEN  WAY)  WITHOUT  ANY  GUARANTEE IN ANY FORM (INDIRECT OR DIRECT FORM).
 THE  FULL  RISK OF QUALITY AND FUNCTIONALITY OF THIS SOFTWARE IS AT YOUR OWN.
 IF  THIS SOFTWARE HAS  A  BUG,  YOU  HAVE  TO  PAY ALL COSTS OF THE NECESSARY
 SERVICE-WORKS AND REPAIRS FOR YOURSELF.

 UNDER  NO  CIRCUMSTANCES,  THE COPYRIGHT OWNERS OR A THIRD PARTY DISTRIBUTING
 THIS  PROGRAM  PACKAGE,  AS ALLOWED, JUST BEFORE, CAN NOT BE HELD RESPONSIBLE
 FOR  ANY  DAMAGE  CAUSED  IN  ANY USUAL, SPECIAL, OR ACCIDENTAL WAY OR BY THE
 SOFTWARE PACKAGE  (SURROUNDING BUT NOT RESTRICTED ARE THE LOSS OF DATA OR NOT
 CORRECTLY  DISPLAYED  DATA  OR  LOSSES CAUSED BY YOU OR A THIRD PARTY OR BY A
 FAULTY  WORK OF THIS SOFTWARE PACKAGE WITH OTHER PROGRAMS), ALSO IF THE OWNER
 OR A THIRD PARTY HAS BEEN POINTED AT SUCH POSSIBILITIES OF DAMAGE.


Contents of util/sys/russian45.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                  238     672  35.4% -lh5- 8311 Apr  2 12:34 russian_v45.2_release/countries/russia.country
[unknown]                 3669    6092  60.2% -lh5- 54ed Apr  2 12:34 russian_v45.2_release/languages/russian.language
[unknown]                 3642    6092  59.8% -lh5- 5dac Apr  2 12:34 russian_v45.2_release/languages/russian.language_ruseng
[unknown]                 3699    6088  60.8% -lh5- 0c9f Apr  2 12:34 russian_v45.2_release/languages/russian.language_rusmix
[unknown]                 5192   10458  49.6% -lh5- df10 Apr  2 12:34 russian_v45.2_release/russian45.readme
[unknown]                 1675    2852  58.7% -lh5- eebe Apr  2 12:34 russian_v45.2_release/tests/LocaleTest
[unknown]                  382    1416  27.0% -lh5- bbeb Apr  2 12:34 russian_v45.2_release/tests/localetest.rx
[unknown]                 2352    4432  53.1% -lh5- d3d0 Apr  2 12:34 russian_v45.2_release/tests/localetest_aros
[unknown]                 1817    3076  59.1% -lh5- 3543 Apr  2 12:34 russian_v45.2_release/tests/localetest_collate
[unknown]                  774    2083  37.2% -lh5- 488e Apr  2 12:34 russian_v45.2_release/tests/localetest_collate.c
[unknown]                 9824   18848  52.1% -lh5- d3d9 Apr  2 12:34 russian_v45.2_release/tests/localetest_gcc
[unknown]                 1296    1832  70.7% -lh5- 6e9a Apr  2 12:34 russian_v45.2_release/tests/localetest_sas
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total        12 files   34560   63941  54.0%            Apr  2 22:10

Aminet © 1992-2019 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>