AminetAminet
Search:
84476 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:1061

----------------------------------------------------------------------------
 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-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>