You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

iso8859_14.py 2.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. """ Python Character Mapping Codec generated from '8859-14.TXT' with gencodec.py.
  2. Written by Marc-Andre Lemburg (mal@lemburg.com).
  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: 0x1e02, # LATIN CAPITAL LETTER B WITH DOT ABOVE
  24. 0x00a2: 0x1e03, # LATIN SMALL LETTER B WITH DOT ABOVE
  25. 0x00a4: 0x010a, # LATIN CAPITAL LETTER C WITH DOT ABOVE
  26. 0x00a5: 0x010b, # LATIN SMALL LETTER C WITH DOT ABOVE
  27. 0x00a6: 0x1e0a, # LATIN CAPITAL LETTER D WITH DOT ABOVE
  28. 0x00a8: 0x1e80, # LATIN CAPITAL LETTER W WITH GRAVE
  29. 0x00aa: 0x1e82, # LATIN CAPITAL LETTER W WITH ACUTE
  30. 0x00ab: 0x1e0b, # LATIN SMALL LETTER D WITH DOT ABOVE
  31. 0x00ac: 0x1ef2, # LATIN CAPITAL LETTER Y WITH GRAVE
  32. 0x00af: 0x0178, # LATIN CAPITAL LETTER Y WITH DIAERESIS
  33. 0x00b0: 0x1e1e, # LATIN CAPITAL LETTER F WITH DOT ABOVE
  34. 0x00b1: 0x1e1f, # LATIN SMALL LETTER F WITH DOT ABOVE
  35. 0x00b2: 0x0120, # LATIN CAPITAL LETTER G WITH DOT ABOVE
  36. 0x00b3: 0x0121, # LATIN SMALL LETTER G WITH DOT ABOVE
  37. 0x00b4: 0x1e40, # LATIN CAPITAL LETTER M WITH DOT ABOVE
  38. 0x00b5: 0x1e41, # LATIN SMALL LETTER M WITH DOT ABOVE
  39. 0x00b7: 0x1e56, # LATIN CAPITAL LETTER P WITH DOT ABOVE
  40. 0x00b8: 0x1e81, # LATIN SMALL LETTER W WITH GRAVE
  41. 0x00b9: 0x1e57, # LATIN SMALL LETTER P WITH DOT ABOVE
  42. 0x00ba: 0x1e83, # LATIN SMALL LETTER W WITH ACUTE
  43. 0x00bb: 0x1e60, # LATIN CAPITAL LETTER S WITH DOT ABOVE
  44. 0x00bc: 0x1ef3, # LATIN SMALL LETTER Y WITH GRAVE
  45. 0x00bd: 0x1e84, # LATIN CAPITAL LETTER W WITH DIAERESIS
  46. 0x00be: 0x1e85, # LATIN SMALL LETTER W WITH DIAERESIS
  47. 0x00bf: 0x1e61, # LATIN SMALL LETTER S WITH DOT ABOVE
  48. 0x00d0: 0x0174, # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
  49. 0x00d7: 0x1e6a, # LATIN CAPITAL LETTER T WITH DOT ABOVE
  50. 0x00de: 0x0176, # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
  51. 0x00f0: 0x0175, # LATIN SMALL LETTER W WITH CIRCUMFLEX
  52. 0x00f7: 0x1e6b, # LATIN SMALL LETTER T WITH DOT ABOVE
  53. 0x00fe: 0x0177, # LATIN SMALL LETTER Y WITH CIRCUMFLEX
  54. })
  55. ### Encoding Map
  56. encoding_map = {}
  57. for k,v in decoding_map.items():
  58. encoding_map[v] = k