iso8859_3.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. """ Python Character Mapping Codec generated from '8859-3.TXT' with gencodec.py.
  2. Written by Marc-Andre Lemburg ([email protected]).
  3. (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
  4. (c) Copyright 2000 Guido van Rossum.
  5. """#"
  6. import codecs
  7. ### Codec APIs
  8. class Codec(codecs.Codec):
  9. def encode(self,input,errors='strict'):
  10. return codecs.charmap_encode(input,errors,encoding_map)
  11. def decode(self,input,errors='strict'):
  12. return codecs.charmap_decode(input,errors,decoding_map)
  13. class StreamWriter(Codec,codecs.StreamWriter):
  14. pass
  15. class StreamReader(Codec,codecs.StreamReader):
  16. pass
  17. ### encodings module API
  18. def getregentry():
  19. return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
  20. ### Decoding Map
  21. decoding_map = codecs.make_identity_dict(range(256))
  22. decoding_map.update({
  23. 0x00a1: 0x0126, # LATIN CAPITAL LETTER H WITH STROKE
  24. 0x00a2: 0x02d8, # BREVE
  25. 0x00a5: None,
  26. 0x00a6: 0x0124, # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
  27. 0x00a9: 0x0130, # LATIN CAPITAL LETTER I WITH DOT ABOVE
  28. 0x00aa: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
  29. 0x00ab: 0x011e, # LATIN CAPITAL LETTER G WITH BREVE
  30. 0x00ac: 0x0134, # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
  31. 0x00ae: None,
  32. 0x00af: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
  33. 0x00b1: 0x0127, # LATIN SMALL LETTER H WITH STROKE
  34. 0x00b6: 0x0125, # LATIN SMALL LETTER H WITH CIRCUMFLEX
  35. 0x00b9: 0x0131, # LATIN SMALL LETTER DOTLESS I
  36. 0x00ba: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
  37. 0x00bb: 0x011f, # LATIN SMALL LETTER G WITH BREVE
  38. 0x00bc: 0x0135, # LATIN SMALL LETTER J WITH CIRCUMFLEX
  39. 0x00be: None,
  40. 0x00bf: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE
  41. 0x00c3: None,
  42. 0x00c5: 0x010a, # LATIN CAPITAL LETTER C WITH DOT ABOVE
  43. 0x00c6: 0x0108, # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
  44. 0x00d0: None,
  45. 0x00d5: 0x0120, # LATIN CAPITAL LETTER G WITH DOT ABOVE
  46. 0x00d8: 0x011c, # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
  47. 0x00dd: 0x016c, # LATIN CAPITAL LETTER U WITH BREVE
  48. 0x00de: 0x015c, # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
  49. 0x00e3: None,
  50. 0x00e5: 0x010b, # LATIN SMALL LETTER C WITH DOT ABOVE
  51. 0x00e6: 0x0109, # LATIN SMALL LETTER C WITH CIRCUMFLEX
  52. 0x00f0: None,
  53. 0x00f5: 0x0121, # LATIN SMALL LETTER G WITH DOT ABOVE
  54. 0x00f8: 0x011d, # LATIN SMALL LETTER G WITH CIRCUMFLEX
  55. 0x00fd: 0x016d, # LATIN SMALL LETTER U WITH BREVE
  56. 0x00fe: 0x015d, # LATIN SMALL LETTER S WITH CIRCUMFLEX
  57. 0x00ff: 0x02d9, # DOT ABOVE
  58. })
  59. ### Encoding Map
  60. encoding_map = codecs.make_encoding_map(decoding_map)