StdMap_iso8859_1.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. MODULE EncStdMap_iso8859_1;
  2. (* This file was generated automatically *)
  3. (* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT *)
  4. IMPORT Codecs := EncCodecs;
  5. TYPE
  6. Encoder = POINTER TO RECORD (Codecs.Encoder) END;
  7. Decoder = POINTER TO RECORD (Codecs.Decoder) END;
  8. (* Encoder *)
  9. PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
  10. VAR x, y: INTEGER;
  11. BEGIN
  12. WHILE fLen > 0 DO
  13. x := ORD(f[fR]);
  14. CASE x OF
  15. | 00H..0FFH: y := 00H + x
  16. ELSE
  17. RETURN
  18. END;
  19. t[tW] := SHORT(CHR(y)); INC(tW);
  20. INC(fR); DEC(fLen)
  21. END
  22. END Encode;
  23. PROCEDURE NewEncoder* (): Codecs.Encoder;
  24. VAR e: Encoder;
  25. BEGIN
  26. NEW(e); RETURN e
  27. END NewEncoder;
  28. (* Decoder *)
  29. PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
  30. VAR x, y: INTEGER;
  31. BEGIN
  32. WHILE fLen > 0 DO
  33. x := ORD(f[fR]);
  34. CASE x OF
  35. | 00H..0FFH: y := 00H + x
  36. ELSE
  37. RETURN
  38. END;
  39. t[tW] := CHR(y); INC(tW);
  40. INC(fR); DEC(fLen)
  41. END;
  42. state := FALSE
  43. END Decode;
  44. PROCEDURE (d: Decoder) Reset, EMPTY;
  45. PROCEDURE NewDecoder* (): Codecs.Decoder;
  46. VAR d: Decoder;
  47. BEGIN
  48. NEW(d); RETURN d
  49. END NewDecoder;
  50. END EncStdMap_iso8859_1.