home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / fish / disks / d1029.lha / Programs / FlexCat / languages / polski.asm / text0000.txt < prev   
Encoding:
Text File  |  1994-12-07  |  13.3 KB  |  609 lines

  1. Hi everybody!
  2.  
  3.   Yesterday I posted  a source for making your own .language. That version
  4. didn't support localized comparison, because I thought no WB .lnaguage has
  5. this feature. But as Rafael D'Halleweyn pointed out, the dansk.language has
  6. them. So here is updated version. I'm afraid you may have some troubles
  7. understanding layout of two conversion tables. My advice is to think a
  8. little, consult AutoDocs or just change the tables and test them. (You can
  9. use ARexx for quick tests). Of course feel free to contact me.
  10.  
  11. **** Cut here ***************************************************************
  12.  
  13. ; polski.language.asm
  14. ; A program to create polski.language (for localized Polish WB)
  15. ; By changing the strings to your own you can make any language
  16. ; This version supports localized comparison and
  17. ; StrConvert() locale.library function
  18. ; Resourced from V38 dansk.language by Michael Letowski
  19.  
  20.  
  21. ;Init macros - copied from exec/initializers.i
  22.  
  23. INITBYTE    MACRO    ; &offset,&value
  24.     IFLE    (\1)-255    ;If offset <=255
  25.     DC.B    $a0,\1        ;use byte offset
  26.     DC.B    \2,0
  27.     MEXIT            ;exit early
  28.     ENDC
  29.     DC.B    $e0,0
  30.     DC.W    \1
  31.     DC.B    \2,0
  32.     ENDM
  33.  
  34. INITWORD    MACRO    ; &offset,&value
  35.     IFLE    (\1)-255    ;If offset <=255
  36.     DC.B    $90,\1        ;use byte offset
  37.     DC.W    \2
  38.     MEXIT            ;exit early
  39.     ENDC
  40.     DC.B    $d0,0
  41.     DC.W    \1
  42.     DC.W    \2
  43.     ENDM
  44.  
  45. INITLONG    MACRO    ; &offset,&value
  46.     IFLE    (\1)-255    ;If offset <=255
  47.     DC.B    $80,\1        ;use byte offset
  48.     DC.L    \2
  49.     MEXIT            ;exit early
  50.     ENDC
  51.     DC.B    $c0,0
  52.     DC.W    \1
  53.     DC.L    \2
  54.     ENDM
  55.  
  56. ;Other constants
  57. LIBF_CHANGED    equ    $2
  58. LIBF_SUMUSED    equ    $4
  59. MAXSTRMSG        equ    $33
  60. NT_LIBRARY    equ    $9
  61. _LVOFreeMem    equ    -$D2
  62. LN_SUCC        equ    $0
  63. lang_SegList    equ    $22
  64. lang_SysBase    equ    $26
  65. LN_PRED        equ    $4
  66. RTF_AUTOINIT    equ    $80
  67. RTC_MATCHWORD    equ    $4AFC
  68. LIB_POSSIZE    equ    $12
  69. LIB_FLAGS        equ    $E
  70. LIB_NEGSIZE    equ    $10
  71. LIBB_DELEXP    equ    $3
  72. LIB_OPENCNT    equ    $20
  73. ;****************************************************************************
  74. ; A .language is an Amiga shared library and it has normal library structure
  75.  
  76.     SECTION    dansklanguagers000000,CODE
  77. ProgStart
  78.     moveq    #-1,d0
  79.     rts
  80.  
  81. ResidentTag
  82.     dc.w    RTC_MATCHWORD
  83.     dc.l    ResidentTag
  84.     dc.l    EndResident
  85.     dc.b    RTF_AUTOINIT
  86.     dc.b    38        ;Version
  87.     dc.b    NT_LIBRARY
  88.     dc.b    $9C        ;Priority
  89.     dc.l    LanguageName
  90.     dc.l    LanguageID
  91.     dc.l    Init
  92. LanguageName
  93.     dc.b    'polski.language',0    ;Name of your language
  94. LanguageID
  95.     dc.b    'polski 38.3 (23.11.94)',$D,$A,0,0  ;Version string
  96.  
  97.     CNOP    0,4 ;Make sure data is longword aligned
  98. Init    dc.l    42        ;Size of library base data space - don't touch
  99.     dc.l    FuncTable
  100.     dc.l    DataTable
  101.     dc.l    InitRoutine
  102. FuncTable    dc.w    $FFFF
  103.     dc.w    Open-FuncTable    ;$60    ;Open       \
  104.     dc.w    Close-FuncTable    ;$6E    ;Close      | Standard library functions
  105.     dc.w    Expunge-FuncTable    ;$88    ;Expunge  | All functions are given as offsets
  106.     dc.w    Fun1-FuncTable    ;$CE    ;Fun1       / from FuncTable
  107.     dc.w    AvailFun-FuncTable    ;$D2    ;Capabilities - this returns what functions
  108.                                             ;are implemented by Locale
  109.                                             ;each bit of return value represents
  110.                                             ;one function
  111.     dc.w    Fun1-FuncTable    ;$CE    ;Fun1 - I don't know what is it - leave it
  112. ;There is usually no need to supply own ConvToLower and ConvToUpper functions
  113. ;The ones in locale.library are quite good and can deal with most languages
  114. ;You should add your own only in two cases (I think):
  115. ;1. Additional (non-standard) letter chars for your language are placed in 
  116.  $0-$20 or $80 - $C0 area of ASCII code or
  117. ;2.  The distance between small and capitalized letters is not $20
  118.     dc.w    Fun1-FuncTable    ;$CE    ;Fun1 - ConvToLower? - not tested, just suspicion
  119.     dc.w    Fun1-FuncTable    ;$CE    ;Fun1 - ConvToUpper? - see above
  120.     dc.w    GetLocStr-FuncTable    ;$55C    ;GetLocaleStr - you SHOULD implement this one
  121. ;I think that next 11 functions are the IsXXX() (I didn't test it).
  122. ;Again, there is usually no need to add this - I didn't have to
  123. ;See conditions for ConvertToXXX()
  124.     dc.w    Fun1-FuncTable    ;$CE
  125.     dc.w    Fun1-FuncTable    ;$CE
  126.     dc.w    Fun1-FuncTable    ;$CE
  127.     dc.w    Fun1-FuncTable    ;$CE
  128.     dc.w    Fun1-FuncTable    ;$CE
  129.     dc.w    Fun1-FuncTable    ;$CE
  130.     dc.w    Fun1-FuncTable    ;$CE
  131.     dc.w    Fun1-FuncTable    ;$CE
  132.     dc.w    Fun1-FuncTable    ;$CE
  133.     dc.w    Fun1-FuncTable    ;$CE
  134.     dc.w    Fun1-FuncTable    ;$CE
  135.     dc.w    StrConvert-FuncTable;$1D6    ;StrConvert
  136.     dc.w    StrnCmp-FuncTable    ;$DA    ;StrnCmp
  137.     dc.w    $FFFF
  138.  
  139. ;Library initialization data - don't touch
  140. DataTable    INITBYTE    9,$9C            ;ln_Pri
  141.     INITBYTE    8,NT_LIBRARY        ;ln_Type
  142.     INITLONG    $A,LanguageName        ;ln_Name
  143.     INITBYTE    $E,LIBF_CHANGED | LIBF_SUMUSED;lib_Flags
  144.     INITWORD    $14,38            ;lib_Version
  145.     INITWORD    $16,3            ;lib_Revision
  146.     INITLONG    $18,LanguageID        ;lib_IdString
  147.     dc.w    0
  148. *    DataTable    dc.w    $A009
  149. *        dc.w    $9C00
  150. *        dc.w    $A008        
  151. *        dc.w    $900
  152. *        dc.w    $800A
  153. *        dc.l    LanguageName
  154. *        dc.w    $A00E
  155. *        dc.w    $600
  156. *        dc.w    $9014
  157. *        dc.w    $26
  158. *        dc.w    $9016
  159. *        dc.w    3
  160. *        dc.w    $8018
  161. *        dc.l    LanguageID
  162. *        dc.w    0
  163.  
  164. ;Standard functions - don't touch
  165.     nop
  166. InitRoutine    movea.l    d0,a1
  167.     move.l    a0,lang_SegList(a1)
  168.     move.l    a6,lang_SysBase(a1)
  169.     rts
  170.  
  171. Open    addq.w    #1,LIB_OPENCNT(a6)
  172.     bclr    #LIBB_DELEXP,LIB_FLAGS(a6)
  173.     move.l    a6,d0
  174.     rts
  175.  
  176. Close    subq.w    #1,LIB_OPENCNT(a6)
  177.     btst    #LIBB_DELEXP,LIB_FLAGS(a6)
  178.     bne.s    Expun
  179.     moveq    #0,d0
  180.     rts
  181.  
  182. Expun    tst.w    LIB_OPENCNT(a6)
  183.     beq.s    RemoveLib
  184.     moveq    #0,d0
  185.     rts
  186.  
  187. Expunge    tst.w    LIB_OPENCNT(a6)
  188.     beq.s    RemoveLib
  189.     bset    #LIBB_DELEXP,LIB_FLAGS(a6)
  190.     moveq    #0,d0
  191.     rts
  192.  
  193. RemoveLib    movem.l    d2/a5/a6,-(sp)
  194.     movea.l    a6,a5
  195.     movea.l    lang_SysBase(a5),a6
  196.     move.l    lang_SegList(a5),d2
  197.     movea.l    a5,a1
  198.     movea.l    LN_SUCC(a1),a0
  199.     movea.l    LN_PRED(a1),a1
  200.     move.l    a0,LN_SUCC(a1)
  201.     move.l    a1,LN_PRED(a0)
  202.     movea.l    a5,a1
  203.     moveq    #0,d0
  204.     move.w    LIB_NEGSIZE(a5),d0
  205.     suba.l    d0,a1
  206.     add.w    LIB_POSSIZE(a5),d0
  207.     jsr    _LVOFreeMem(a6)
  208.     move.l    d2,d0
  209.     movem.l    (sp)+,d2/a5/a6
  210.     rts
  211.  
  212. Fun1    moveq    #0,d0
  213.     rts
  214.  
  215. ;This returns bit pattern of available functions (not including 4 standard
  216. ;library functions)
  217. AvailFun    move.l    #$18008,d0    ;Available functions
  218.     rts
  219.  
  220. ;You don't need to change the code for StrnCmp() and StrConvert() functions
  221. ;but you should change two char tables below.
  222. ;The tables included in this file are good for Polish language and they work
  223. ;(I have tested this)
  224.  
  225. ; StrnCmp(str1,str2,len,type) - see Locale.doc for more information
  226. ; a1 = str1
  227. ; a2 = str2
  228. ; d0 = len
  229. ; d1 = type
  230.  
  231. StrnCmp    tst.l    d0
  232.     bne.s    Cmp
  233.     rts
  234.  
  235. Cmp    tst.l    d1
  236.     bne.s    Collate
  237. SC_ASCII    movem.l    d2/a2,-(sp)    ;Case insensitive comparison
  238.     lea    Lower2Upper(pc),a0
  239.     moveq    #0,d2
  240. ASCII_CompareLoop
  241.     move.b    (a1)+,d1
  242.     move.b    (a2)+,d2
  243.     move.b    0(a0,d1.w),d1
  244.     cmp.b    0(a0,d2.w),d1
  245.     bne.s    ASCII_Different
  246.     tst.b    d1
  247.     beq.s    ASCII_EndOfString
  248.     subq.l    #1,d0
  249.     bne.s    ASCII_CompareLoop
  250.     movem.l    (sp)+,d2/a2
  251.     rts
  252.  
  253. ASCII_EndOfString
  254.     moveq    #0,d0
  255.     movem.l    (sp)+,d2/a2
  256.     rts
  257.  
  258. ASCII_Different
  259.     bhi.s    ASCII_Higher
  260.     moveq    #-1,d0    ;First string is less than second'
  261.     movem.l    (sp)+,d2/a2
  262.     rts
  263.  
  264. ASCII_Higher
  265.     moveq    #1,d0    ;Second string is greater than first
  266.     movem.l    (sp)+,d2/a2
  267.     rts
  268.  
  269. Collate    subq.l    #1,d1
  270.     bne.s    Collate2
  271. SC_COLLATE1
  272.     movem.l    d2/a2,-(sp)
  273.     lea    IgnoreAccents(pc),a0
  274.     moveq    #0,d2
  275. CL1_CompareLoop
  276.     move.b    (a1)+,d1
  277.     move.b    (a2)+,d2
  278.     move.b    0(a0,d1.w),d1
  279.     cmp.b    0(a0,d2.w),d1
  280.     bne.s    CL1_Different
  281.     tst.b    d1
  282.     beq.s    CL1_EndOfString
  283.     subq.l    #1,d0
  284.     bne.s    CL1_CompareLoop
  285.     movem.l    (sp)+,d2/a2
  286.     rts
  287.  
  288. CL1_EndOfString
  289.     moveq    #0,d0
  290.     movem.l    (sp)+,d2/a2
  291.     rts
  292.  
  293. CL1_Different
  294.     bhi.s    CL1_Higher
  295.     moveq    #-1,d0
  296.     movem.l    (sp)+,d2/a2
  297.     rts
  298.  
  299. CL1_Higher
  300.     moveq    #1,d0
  301.     movem.l    (sp)+,d2/a2
  302.     rts
  303.  
  304. Collate2    subq.l    #1,d1
  305.     bne.s    SC_UNKNOWN
  306. SC_COLLATE2
  307.     movem.l    d2/d3/a2,-(sp)
  308.     lea    IgnoreAccents(pc),a0
  309.     moveq    #0,d2
  310.     moveq    #0,d3
  311. CL2_Loop    move.b    (a1)+,d1
  312.     beq.s    CL2_EndOfString1
  313.     move.b    (a2)+,d2
  314.     cmp.b    d2,d1
  315.     bne.s    CL2_Different1
  316.     subq.l    #1,d0
  317.     bne.s    CL2_Loop
  318.     movem.l    (sp)+,d2/d3/a2
  319.     rts
  320.  
  321. CL2_EndOfString1
  322.     cmp.b    (a2)+,d1
  323.     bne.s    CL2_Different1
  324.     movem.l    (sp)+,d2/d3/a2
  325.     moveq    #0,d0
  326.     rts
  327.  
  328. CL2_Different1
  329.     bhi.s    CL2_Higher1
  330.     moveq    #-1,d3
  331.     bra.s    CL2_Continue
  332.  
  333. CL2_Higher1
  334.     moveq    #1,d3
  335.     bra.s    CL2_Continue
  336.  
  337. CL2_CompareLoop
  338.     move.b    (a1)+,d1
  339.     move.b    (a2)+,d2
  340. CL2_Continue
  341.     move.b    0(a0,d1.w),d1
  342.     cmp.b    0(a0,d2.w),d1
  343.     bne.s    CL2_Different2
  344.     tst.b    d1
  345.     beq.s    CL2_EndOfString2
  346.     subq.l    #1,d0
  347.     bne.s    CL2_CompareLoop
  348. CL2_EndOfString2
  349.     move.l    d3,d0
  350.     movem.l    (sp)+,d2/d3/a2
  351.     rts
  352.  
  353. CL2_Different2
  354.     bhi.s    CL2_Higher2
  355.     moveq    #-1,d0
  356.     movem.l    (sp)+,d2/d3/a2
  357.     rts
  358.  
  359. CL2_Higher2
  360.     moveq    #1,d0
  361.     movem.l    (sp)+,d2/d3/a2
  362.     rts
  363.  
  364. SC_UNKNOWN
  365.     moveq    #0,d0
  366.     rts
  367.  
  368. ; StrConvert(string,buffer,bufferSize,type)
  369. ; a1 = string
  370. ; a2=buffer
  371. ; d0 = bufferSize
  372. ; d1=type
  373. StrConvert
  374.     move.l    d0,-(sp)
  375.     bne.s    Convert
  376.     addq.l    #4,sp
  377.     rts
  378.  
  379. Convert    tst.l    d1
  380.     bne.s    ConvCollate
  381. CONV_ASCII
  382.     move.l    a2,-(sp)
  383.     lea    Lower2Upper(pc),a0
  384.     bra.s    StartConv
  385.  
  386. ConvCollate
  387.     subq.l    #1,d1
  388.     bne.s    ConvCollate2
  389. CONV_COLLATE1
  390.     move.l    a2,-(sp)
  391.     lea    IgnoreAccents(pc),a0
  392.     bra.s    StartConv
  393.  
  394. ConvLoop    move.b    (a1)+,d1
  395.     beq.s    ConvEnd
  396.     move.b    0(a0,d1.w),(a2)+
  397. StartConv    subq.l    #1,d0
  398.     bne.s    ConvLoop
  399. ConvEnd    clr.b    (a2)
  400.     movea.l    (sp)+,a2
  401.     move.l    (sp)+,d1
  402.     sub.l    d0,d1
  403.     move.l    d1,d0
  404.     rts
  405.  
  406. ConvCollate2
  407.     subq.l    #1,d1
  408.     bne.s    CONV_UNKNOWN
  409. CONV_COLLATE2
  410.     movem.l    d2/a2/a3,-(sp)
  411.     movea.l    a1,a0
  412. ConvLoop2    tst.b    (a0)+
  413.     bne.s    ConvLoop2
  414.     suba.l    a1,a0
  415.     subq.l    #1,a0
  416.     movea.l    a2,a3
  417.     adda.l    a0,a3
  418.     lea    IgnoreAccents(pc),a0
  419.     bra.s    StartConv2
  420.  
  421. ConvLoop3    move.b    (a1)+,d1
  422.     beq.s    ConvEnd2
  423.     move.b    0(a0,d1.w),d2
  424.     move.b    d2,(a2)+
  425.     cmp.b    d2,d1
  426.     beq.s    StartConv2
  427.     move.b    d1,(a3)+
  428.     subq.l    #1,d0
  429.     beq.s    ConvEnd2
  430. StartConv2
  431.     subq.l    #1,d0
  432.     bne.s    ConvLoop3
  433. ConvEnd2    clr.b    (a3)
  434.     movem.l    (sp)+,d2/a2/a3
  435.     move.l    (sp)+,d1
  436.     sub.l    d0,d1
  437.     move.l    d1,d0
  438.     rts
  439.  
  440. CONV_UNKNOWN
  441.     moveq    #0,d0
  442.     rts
  443.  
  444. ;IgnoreAccents[256] and Lower2Upper[256] are 2 full ASCII tables
  445.  
  446. ;IgnoreAccents[] describes the relative sorting order for chars
  447. ;Accented and not accented chars are considered equal as are
  448. ;lower-case and upper-case chars. It looks a bit strange but I didn't
  449. ;change it much. I did changes only in last 64 chars.
  450. ;I'm afraid that I can't explain it better, since my English is quite limited
  451. ;Please see Locale.doc or use your mind or do some tests;
  452. IgnoreAccents
  453.     dc.b    0,1,2,3,4,5,6,7,8,9,$A,$B,$C,$D,$E,$F
  454.     dc.b    $10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$1A,$1B,$1C,$1D,$1E,$1F
  455.     dc.b    ' !"#$%&''()*+,-./0123456789:;<=>?'
  456.     dc.b    '@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`ab'
  457.     dc.b    'cABCDEFGHIJKLMNOPQRSTUVWXYZdefgh'
  458.     dc.b    'àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
  459.     dc.b    ' !$$ijkSlmn"opqrstuvwxyz{|}"~',$80,'?'
  460.     dc.b    'AAAAA][CEEEEIIINDNOOOOO/\UUUUYPY'
  461.     dc.b    'AAAAA][CEEEEIIINDNOOOOO/\UUUUYPY'
  462.  
  463. ;Lower2Upper[] contains accented characters, but lower and upper chars are
  464. ;consider equal
  465. Lower2Upper
  466.     dc.b    0,1,2,3,4,5,6,7,8,9,$A,$B,$C,$D,$E,$F
  467.     dc.b    $10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$1A,$1B,$1C,$1D,$1E,$1F
  468.     dc.b    ' !"#$%&''()*+,-./0123456789:;<=>?'
  469.     dc.b    '@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'
  470.     dc.b    '`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~'
  471.     dc.b    $80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8A,$8B,$8C,$8D,$8E,$8F
  472.     dc.b    $90,$91,$92,$93,$94,$95,$96,$97,$98,$99,$9A,$9B,$9C,$9D,$9E,$9F
  473.     dc.b    ' ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿'
  474.     dc.b    'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß'
  475.     dc.b    'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ÷ØÙÚÛÜÝÞß'
  476.  
  477. ;Below there are MAXSTRMSG messages for your language
  478. ;See <libraries/locale.h> for their description
  479. NullStr    dc.w    0
  480. Sunday    dc.b    'Niedziela',0
  481. Monday    dc.b    'Poniedzialek',0,0
  482. Tuesday    dc.b    'Wtorek',0,0
  483. Wednesday    dc.b    'Sroda',0
  484. Thursday    dc.b    'Czwartek',0,0
  485. Friday    dc.b    'Piatek',0,0
  486. Saturday    dc.b    'Sobota',0,0
  487. Sun    dc.b    'Nie',0
  488. Mon    dc.b    'Pon',0
  489. Tue    dc.b    'Wto',0
  490. Wed    dc.b    'Ôro',0
  491. Thu    dc.b    'Czw',0
  492. Fri    dc.b    'Pia',0
  493. Sat    dc.b    'Sob',0
  494. January    dc.b    'Styczen',0
  495. February    dc.b    'Luty',0,0
  496. March    dc.b    'Marzec',0,0
  497. April    dc.b    'Kwiecien',0,0
  498. May    dc.b    'Maj',0
  499. June    dc.b    'Czerwiec',0,0
  500. July    dc.b    'Lipiec',0,0
  501. August    dc.b    'Sierpien',0,0
  502. September    dc.b    'Wrzesien',0,0
  503. October    dc.b    'Pazdziernik',0
  504. November    dc.b    'Listopad',0,0
  505. December    dc.b    'Grudzien',0,0
  506. Jan    dc.b    'Sty',0
  507. Feb    dc.b    'Lut',0
  508. Mar    dc.b    'Marz',0,0
  509. Apr    dc.b    'Kwie',0,0
  510. MayAb    dc.b    'Maj',0
  511. Jun    dc.b    'Czer',0,0
  512. Jul    dc.b    'Lip',0
  513. Aug    dc.b    'Sier',0,0
  514. Sep    dc.b    'Wrze',0,0
  515. Oct    dc.b    'Paz',0
  516. Nov    dc.b    'Lis',0
  517. Dec    dc.b    'Gru',0
  518. Yes    dc.b    'Tak',0
  519. No    dc.b    'Nie',0
  520. AM    dc.b    'AM',0
  521. PM    dc.b    'PM',0
  522. SoftHyphen    dc.b    '-',0
  523. HardHyphen    dc.b    '-',0
  524. OpenQuote        dc.b    '"',0
  525. CloseQuote    dc.b    '"',0
  526. Yesterday    dc.b    'Wczoraj',0
  527. Today    dc.b    'Dzisiaj',0
  528. Tomorrow    dc.b    'Jutro',0
  529. Future    dc.b    'Przyszlosc',0,0
  530.  
  531.     CNOP    0,4
  532.  
  533. ;You should imlement at least this functions
  534. ;Please change only strings above and nothing more
  535. GetLocStr    cmpi.l    #MAXSTRMSG,d0
  536.     bcc.s    NoEntry
  537.     asl.w    #2,d0
  538.     move.l    StringsTable(pc,d0.w),d0
  539.     rts
  540.  
  541. NoEntry    moveq    #0,d0
  542.     rts
  543.  
  544. ; Pointers to strings - don't touch
  545. StringsTable
  546.     dc.l    NullStr
  547.     dc.l    Sunday
  548.     dc.l    Monday
  549.     dc.l    Tuesday
  550.     dc.l    Wednesday
  551.     dc.l    Thursday
  552.     dc.l    Friday
  553.     dc.l    Saturday
  554.     dc.l    Sun
  555.     dc.l    Mon
  556.     dc.l    Tue
  557.     dc.l    Wed
  558.     dc.l    Thu
  559.     dc.l    Fri
  560.     dc.l    Sat
  561.     dc.l    January
  562.     dc.l    February
  563.     dc.l    March
  564.     dc.l    April
  565.     dc.l    May
  566.     dc.l    June
  567.     dc.l    July
  568.     dc.l    August
  569.     dc.l    September
  570.     dc.l    October
  571.     dc.l    November
  572.     dc.l    December
  573.     dc.l    Jan
  574.     dc.l    Feb
  575.     dc.l    Mar
  576.     dc.l    Apr
  577.     dc.l    MayAb
  578.     dc.l    Jun
  579.     dc.l    Jul
  580.     dc.l    Aug
  581.     dc.l    Sep
  582.     dc.l    Oct
  583.     dc.l    Nov
  584.     dc.l    Dec
  585.     dc.l    Yes
  586.     dc.l    No
  587.     dc.l    AM
  588.     dc.l    PM
  589.     dc.l    SoftHyphen
  590.     dc.l    HardHyphen
  591.     dc.l    OpenQuote
  592.     dc.l    CloseQuote
  593.     dc.l    Yesterday
  594.     dc.l    Today
  595.     dc.l    Tomorrow
  596.     dc.l    Future
  597. EndResident
  598.     end
  599.  
  600. **** Cut here ****************************************************************--
  601. +---------------------------------------------------------------------------+
  602. |                             Michael Letowski                              |
  603. |  Software Engineering Student at Technical University of Wroclaw, Poland  |
  604. +-------------------------------------+-------------------------------------+
  605. |     pro37@ci3ux.ci.pwr.wroc.pl      |         ul. Przyjazni 51/17         |
  606. |     (Valid until 15 Feb 1995)       |       53-030 Wroclaw, Poland        |
  607. +-------------------------------------+-------------------------------------+
  608.  
  609.