home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / CMDS / mtools_3.6.src.lzh / MTOOLS_3.6 / codepages.c < prev    next >
C/C++ Source or Header  |  1997-11-12  |  3KB  |  101 lines

  1. #include "codepage.h"
  2.  
  3. /* MS-DOS doesn't use the same ASCII code as Unix does. The appearance
  4.  * of the characters is defined using code pages. These code pages
  5.  * aren't the same for all countries. For instance, some code pages
  6.  * don't contain upper case accented characters. This affects two
  7.  * things, relating to filenames:
  8.  
  9.  * 1. upper case characters. In short names, only upper case
  10.  * characters are allowed.  This also holds for accented characters.
  11.  * For instance, in a code page which doesn't contain accented
  12.  * uppercase characters, the accented lowercase characters get
  13.  * transformed into their unaccented counterparts. This is very bad
  14.  * design. Indeed, stuff like national language support should never
  15.  * affect filesystem integrity. And it does: A filename which is legal
  16.  * in one country could be illegal in another one. Bad News for
  17.  * frequent travellers.
  18.  
  19.  * long file names: Micro$oft has finally come to their senses and
  20.  * uses a more standard mapping for the long file names.  They use
  21.  * Unicode, which is basically a 32 bit version of ASCII. Its first
  22.  * 256 characters are identical to Unix ASCII. Thus, the code page
  23.  * also affects the correspondence between the codes used in long
  24.  * names and those used in short names.
  25.  
  26.  * Such a bad design is rather unbelievable. That's why I quoted the
  27.  * translation tables. BEGIN FAIR USE EXCERPT:
  28.  */
  29.  
  30.  
  31. Codepage_t codepages[]= {
  32.     { 437,
  33.       "╟ⁿΘΓΣαστΩδΦ∩ε∞─┼"
  34.       "╔µ╞⌠÷≥√∙ ╓▄óúÑPf"
  35.       "ßφ≤·±╤¬║┐r¼╜╝í½╗"
  36.       "_______________¼"
  37.       "________________"
  38.       "________________"
  39.       "abgpSs╡tftod°╪_N"
  40.       "=▒<>||≈~░╖╖Vn▓__",
  41.     },
  42.  
  43.     { 850,
  44.       "╟ⁿΘΓΣαστΩδΦ∩ε∞─┼"
  45.       "╔µ╞⌠÷≥√∙ ╓▄°ú╪╫_"
  46.       "ßφ≤·±╤¬║┐«¼╜╝í½╗"
  47.       "_____┴┬└⌐____óѼ"
  48.       "______π├_______ñ"
  49.       "≡╨╔╦╚i═╬╧____|I_"
  50.       "╙▀╘╥⌡╒╡■▐┌┘²▌▐»┤"
  51.       "¡▒_╛╢º≈╕░¿╖╣│▓__"
  52.     },
  53.     
  54.     { 852,
  55.       "╟ⁿΘΓΣucτlδ╒⌡εZ─C"
  56.       "╔Ll⌠÷LlSs╓▄TtL╫c"
  57.       "ßφ≤·AaZzEe zCs½╗"
  58.       "_____┴┬ES____Zz¼"
  59.       "______Aa_______ñ"
  60.       "≡╨D╦d╤═╬e_r__TU_"
  61.       "╙▀╘Nn±SsR┌rU²▌t┤"
  62.       "¡~.~~º≈╕░¿╖╣uRr_"
  63.     },
  64.     
  65.     { 860,      
  66.       "╟ⁿΘΓπαστΩδΦ═⌡∞├┬"
  67.       "╔└╚⌠⌡≥┌∙╠╒▄óú┘P╙"
  68.       "ßφ≤·±╤¬║┐╥¼╜╝í½╗"
  69.       "_______________¼"
  70.       "________________"
  71.       "________________"
  72.       "abgpSs╡tftod°╪_N"
  73.       "=▒<>||≈~░╖╖Vn▓__"
  74.     },
  75.     
  76.     { 863,      
  77.       "╟ⁿΘΓ┬α╢τΩδΦ∩ε_└º"
  78.       "╔╚╩⌠╦╧√∙ñ╘▄óú┘█f"
  79.       "|┤≤·¿ │»╬r¼╜╝╛½╗"
  80.       "_______________¼"
  81.       "________________"
  82.       "________________"
  83.       "abgpSs╡tftod°╪_N"
  84.       "=▒<>||≈~░╖╖Vn▓__"
  85.     },
  86.     
  87.     { 865,
  88.       "╟ⁿΘΓΣαστΩδΦ∩ε∞─┼"
  89.       "╔µ╞⌠÷≥√∙ ╓▄°ú╪Pf"
  90.       "ßφ≤·±╤¬║┐r¼╜╝í½ñ"
  91.       "_______________¼"
  92.       "________________"
  93.       "________________"
  94.       "abgpSs╡tftod°╪_N"
  95.       "=▒<>||≈~░╖╖Vn▓__",
  96.     },
  97.     { 0 }
  98. };
  99.  
  100. /* END FAIR USE EXCERPT */
  101.