diff options
| -rw-r--r-- | .gitignore | 14 | ||||
| -rw-r--r-- | LICENSE | 15 | ||||
| -rw-r--r-- | Makefile | 69 | ||||
| -rw-r--r-- | TODO | 48 | ||||
| -rw-r--r-- | config.mk | 8 | ||||
| -rw-r--r-- | libcharsets.h | 5 | ||||
| -rw-r--r-- | maps/cp1101 | 3 | ||||
| -rw-r--r-- | maps/cp1105 | 5 | ||||
| -rw-r--r-- | maps/cp1107 | 9 | ||||
| -rw-r--r-- | maps/din-66003 | 12 | ||||
| -rw-r--r-- | maps/f7dec | 14 | ||||
| -rw-r--r-- | maps/ibm-210 | 20 | ||||
| -rw-r--r-- | maps/ibm-437 | 149 | ||||
| -rw-r--r-- | maps/ibm-737 | 3 | ||||
| -rw-r--r-- | maps/ibm-865 | 4 | ||||
| -rw-r--r-- | maps/inis | 11 | ||||
| -rw-r--r-- | maps/iso-8859-1 | 2 | ||||
| -rw-r--r-- | maps/iso-8859-13 | 77 | ||||
| -rw-r--r-- | maps/iso-8859-14 | 26 | ||||
| -rw-r--r-- | maps/iso-8859-15 | 16 | ||||
| -rw-r--r-- | maps/iso-8859-16 | 59 | ||||
| -rw-r--r-- | maps/iso-8859-2 | 97 | ||||
| -rw-r--r-- | maps/iso-8859-3 | 49 | ||||
| -rw-r--r-- | maps/iso-8859-4 | 71 | ||||
| -rw-r--r-- | maps/iso-8859-5 | 7 | ||||
| -rw-r--r-- | maps/iso-8859-9 | 12 | ||||
| -rw-r--r-- | maps/iso-ir-182 | 26 | ||||
| -rw-r--r-- | maps/mazovia | 17 | ||||
| -rw-r--r-- | maps/nl7dec | 14 | ||||
| -rw-r--r-- | maps/s7dec | 2 | ||||
| -rw-r--r-- | maps/sf7dec | 13 | ||||
| -rw-r--r-- | maps/us-ascii | 1 | ||||
| -rw-r--r-- | mk/linux.mk | 6 | ||||
| -rw-r--r-- | mk/macos.mk | 6 | ||||
| -rw-r--r-- | mk/windows.mk | 6 |
35 files changed, 896 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a071ed4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +*\#* +*~ +*.o +*.a +*.lo +*.su +*.so +*.so.* +*.dll +*.dylib +*.gch +*.gcov +*.gcno +*.gcda @@ -0,0 +1,15 @@ +ISC License + +© 2025 Mattias Andrée <m@maandree.se> + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..89b0413 --- /dev/null +++ b/Makefile @@ -0,0 +1,69 @@ +.POSIX: + +CONFIGFILE = config.mk +include $(CONFIGFILE) + +OS = linux +# Linux: linux +# Mac OS: macos +# Windows: windows +include mk/$(OS).mk + + +LIB_MAJOR = 1 +LIB_MINOR = 0 +LIB_VERSION = $(LIB_MAJOR).$(LIB_MINOR) +LIB_NAME = charsets + + +OBJ = + +HDR =\ + libcharsets.h + +LOBJ = $(OBJ:.o=.lo) + + +all: libcharsets.a libcharsets.$(LIBEXT) +$(OBJ): $(HDR) +$(LOBJ): $(HDR) + +.c.o: + $(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS) + +.c.lo: + $(CC) -fPIC -c -o $@ $< $(CFLAGS) $(CPPFLAGS) + +libcharsets.a: $(OBJ) + @rm -f -- $@ + $(AR) rc $@ $(OBJ) + $(AR) ts $@ > /dev/null + +libcharsets.$(LIBEXT): $(LOBJ) + $(CC) $(LIBFLAGS) -o $@ $(LOBJ) $(LDFLAGS) + +install: libcharsets.a libcharsets.$(LIBEXT) + mkdir -p -- "$(DESTDIR)$(PREFIX)/lib" + mkdir -p -- "$(DESTDIR)$(PREFIX)/include" + cp -- libcharsets.a "$(DESTDIR)$(PREFIX)/lib/" + cp -- libcharsets.$(LIBEXT) "$(DESTDIR)$(PREFIX)/lib/libcharsets.$(LIBMINOREXT)" + $(FIX_INSTALL_NAME) "$(DESTDIR)$(PREFIX)/lib/libcharsets.$(LIBMINOREXT)" + ln -sf -- libcharsets.$(LIBMINOREXT) "$(DESTDIR)$(PREFIX)/lib/libcharsets.$(LIBMAJOREXT)" + ln -sf -- libcharsets.$(LIBMAJOREXT) "$(DESTDIR)$(PREFIX)/lib/libcharsets.$(LIBEXT)" + cp -- libcharsets.h "$(DESTDIR)$(PREFIX)/include/" + +uninstall: + -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libcharsets.a" + -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libcharsets.$(LIBMAJOREXT)" + -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libcharsets.$(LIBMINOREXT)" + -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libcharsets.$(LIBEXT)" + -rm -f -- "$(DESTDIR)$(PREFIX)/include/libcharsets.h" + +clean: + -rm -f -- *.o *.a *.lo *.su *.so *.so.* *.dll *.dylib + -rm -f -- *.gch *.gcov *.gcno *.gcda *.$(LIBEXT) + +.SUFFIXES: +.SUFFIXES: .lo .o .c + +.PHONY: all install uninstall clean @@ -0,0 +1,48 @@ +ISO-8859-6 +ISO-8859-7 +ISO-8859-8 +ISO-8859-10 +ISO-8859-11 +ISO-IR-111 +ISO-IR-197 +ISO-IR-200 +IBM-165 +IBM-850 +IBM-858 +IBM-861 +IBM-862 +IBM-863 +IBM-864 +IBM-866 +IBM-867 +IBM-868 +IBM-869 +IBM-897 +IBM-899 +IBM-903 +IBM-904 +IBM-932 +IBM-936 +IBM-942 +IBM-949 +IBM-951 +IBM-1040 +IBM-1041 +IBM-1042 +IBM-1043 +IBM-1092 +IBM-1098 +IBM-1115 +IBM-1116 +IBM-1117 +IBM-1118 +IBM-1127 +ABICOMP character set +CS Indic character set +CSX Indic character set +CSX+ Indic character set +CWI-2 +Iran System encoding +Kamenický encoding +MIK +ELOT 927 diff --git a/config.mk b/config.mk new file mode 100644 index 0000000..f4adf12 --- /dev/null +++ b/config.mk @@ -0,0 +1,8 @@ +PREFIX = /usr +MANPREFIX = $(PREFIX)/share/man + +CC = c99 + +CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_GNU_SOURCE +CFLAGS = +LDFLAGS = diff --git a/libcharsets.h b/libcharsets.h new file mode 100644 index 0000000..cd9c9f0 --- /dev/null +++ b/libcharsets.h @@ -0,0 +1,5 @@ +/* See LICENSE file for copyright and license details. */ +#ifndef LIBCHARSETS_H +#define LIBCHARSETS_H + +#endif diff --git a/maps/cp1101 b/maps/cp1101 new file mode 100644 index 0000000..32e3248 --- /dev/null +++ b/maps/cp1101 @@ -0,0 +1,3 @@ +map 0x00-0x22 to U+0000 +map 0x23 to U+00A3 +map 0x24-0x7F to U+0024 diff --git a/maps/cp1105 b/maps/cp1105 new file mode 100644 index 0000000..5351d2c --- /dev/null +++ b/maps/cp1105 @@ -0,0 +1,5 @@ +include cp1107 +remap 0x40 to U+00C4 +remap 0x5E to U+00DC +remap 0x60 to U+00E4 +remap 0x7E to U+00FC diff --git a/maps/cp1107 b/maps/cp1107 new file mode 100644 index 0000000..e54db36 --- /dev/null +++ b/maps/cp1107 @@ -0,0 +1,9 @@ +map 0x00-0x5A to U+0000 +map 0x5B to U+00C6 +map 0x5C to U+00D8 +map 0x5D to U+00C5 +map 0x5E-0x7A to U+005E +map 0x7B to U+00E6 +map 0x7C to U+00F8 +map 0x7D to U+00E5 +map 0x7E-0x7F to U+007E diff --git a/maps/din-66003 b/maps/din-66003 new file mode 100644 index 0000000..512a149 --- /dev/null +++ b/maps/din-66003 @@ -0,0 +1,12 @@ +map 0x00-0x3F to U+0000 +map 0x40 to U+00A7 +map 0x41-0x5A to U+0041 +map 0x4B to U+00C4 +map 0x4C to U+00D6 +map 0x4D to U+00DC +map 0x4E-0x7A to U+004E +map 0x7B to U+00E4 +map 0x7C to U+00F6 +map 0x7D to U+00FC +map 0x7E to U+00DF +map 0x7F to U+007F diff --git a/maps/f7dec b/maps/f7dec new file mode 100644 index 0000000..5a016b4 --- /dev/null +++ b/maps/f7dec @@ -0,0 +1,14 @@ +map 0x00-0x22 to U+0000 +map 0x23 to U+00A3 +map 0x24-0x3F to U+0024 +map 0x40 to U+00E0 +map 0x41-0x5A to U+0041 +map 0x5B to U+00B0 +map 0x5C to U+00E7 +map 0x5D to U+00A7 +map 0x5E-0x7A to U+005E +map 0x7B to U+00E9 +map 0x7C to U+00F9 +map 0x7D to U+00E8 +map 0x7E to U+00A8 +map 0x7F to U+007F diff --git a/maps/ibm-210 b/maps/ibm-210 new file mode 100644 index 0000000..6427458 --- /dev/null +++ b/maps/ibm-210 @@ -0,0 +1,20 @@ +include ibm-437 +unmap 0x80-0xAF +unmap 0xE0-0xF0 +map 0x80-0x90 to U+0391 +map 0x91-0x97 to U+03A3 +map 0x98-0xA8 to U+03B1 +map 0xA9 to U+03C3 +map 0xAA to U+03C2 +map 0xAB-0xAF to U+03C4 +map 0xE0 to U+03C9 +map 0xE1-0xE3 to U+03AC +map 0xE4 to U+03CA +map 0xE5 to U+03AF +map 0xE6-0xE7 to U+03CC +map 0xE8 to U+03CB +map 0xE9 to U+03CE +map 0xEA to U+0386 +map 0xEB-0xED to U+0388 +map 0xEE to U+038C +map 0xEF-0xF0 to U+038E diff --git a/maps/ibm-437 b/maps/ibm-437 new file mode 100644 index 0000000..352914b --- /dev/null +++ b/maps/ibm-437 @@ -0,0 +1,149 @@ +map 0x00 to U+0000 +map 0x01-0x02 to U+263A +map 0x03-0x04 to U+2665 +map 0x05 to U+2663 +map 0x06 to U+2660 +map 0x07 to U+2022 +map 0x08 to U+25D8 +map 0x09 to U+25CB +map 0x0A to U+25D9 +map 0x0B to U+2642 +map 0x0C to U+2640 +map 0x0D-0x0E to U+266A +map 0x0F to U+263C +map 0x10 to U+25BA +map 0x11 to U+25C4 +map 0x12 to U+2195 +map 0x13 to U+203C +map 0x14 to U+00B6 +map 0x15 to U+00A7 +map 0x16 to U+25AC +map 0x17 to U+21A8 +map 0x18 to U+2191 +map 0x19 to U+2193 +map 0x1A to U+2192 +map 0x1B to U+2190 +map 0x1C to U+221F +map 0x1D to U+2194 +map 0x1E to U+25B2 +map 0x1F to U+25BC +map 0x20-0x7E to U+0020 +map 0x7F to U+2302 +map 0x80 to U+00C7 +map 0x81 to U+00FC +map 0x82 to U+00E9 +map 0x83 to U+00E2 +map 0x84 to U+00E4 +map 0x85 to U+00E0 +map 0x86 to U+00E5 +map 0x87 to U+00E7 +map 0x88 to U+00EA +map 0x89 to U+00EB +map 0x8A to U+00E8 +map 0x8B to U+00EF +map 0x8C to U+00EE +map 0x8D to U+00EC +map 0x8E-0x8F to U+00C4 +map 0x90 to U+00C9 +map 0x91 to U+00E6 +map 0x92 to U+00C6 +map 0x93 to U+00F4 +map 0x94 to U+00F6 +map 0x95 to U+00F2 +map 0x96 to U+00FB +map 0x97 to U+00F9 +map 0x98 to U+00FF +map 0x99 to U+00D6 +map 0x9A to U+00DC +map 0x9B-0x9C to U+00A2 +map 0x9D to U+00A5 +map 0x9E to U+20A7 +map 0x9F to U+0192 +map 0xA0 to U+00E1 +map 0xA1 to U+00ED +map 0xA2 to U+00F3 +map 0xA3 to U+00FA +map 0xA4 to U+00F1 +map 0xA5 to U+00D1 +map 0xA6 to U+00AA +map 0xA7 to U+00BA +map 0xA8 to U+00BF +map 0xA9 to U+2310 +map 0xAA to U+00AC +map 0xAB to U+00BD +map 0xAC to U+00BC +map 0xAD to U+00A1 +map 0xAE to U+00AB +map 0xAF to U+00BB +map 0xB0-0xB2 to U+2591 +map 0xB3 to U+2502 +map 0xB4 to U+2524 +map 0xB5-0xB6 to U+2561 +map 0xB7 to U+2556 +map 0xB8 to U+2555 +map 0xB9 to U+2563 +map 0xBA to U+2551 +map 0xBB to U+2557 +map 0xBC to U+255D +map 0xBD to U+255C +map 0xBE to U+255B +map 0xBF to U+2510 +map 0xC0 to U+2514 +map 0xC1 to U+2534 +map 0xC2 to U+252C +map 0xC3 to U+251C +map 0xC4 to U+2500 +map 0xC5 to U+253C +map 0xC6-0xC7 to U+255E +map 0xC8 to U+255A +map 0xC9 to U+2554 +map 0xCA to U+2569 +map 0xCB to U+2566 +map 0xCC to U+2560 +map 0xCD to U+2550 +map 0xCE to U+256C +map 0xCF-0xD0 to U+2567 +map 0xD1-0xD2 to U+2564 +map 0xD3 to U+2559 +map 0xD4 to U+2558 +map 0xD5-0xD6 to U+2552 +map 0xD7 to U+256B +map 0xD8 to U+256A +map 0xD9 to U+2518 +map 0xDA to U+250C +map 0xDB to U+2588 +map 0xDC to U+2584 +map 0xDD to U+258C +map 0xDE to U+2590 +map 0xDF to U+2580 +map 0xE0 to U+03B1 +map 0xE1 to U+00DF +map 0xE2 to U+0393 +map 0xE3 to U+03C0 +map 0xE4 to U+03A3 +map 0xE5 to U+03C3 +map 0xE6 to U+00B5 +map 0xE7 to U+03C4 +map 0xE8 to U+03A6 +map 0xE9 to U+0398 +map 0xEA to U+03A9 +map 0xEB to U+03B4 +map 0xEC to U+221E +map 0xED to U+03C6 +map 0xEE to U+03B5 +map 0xEF to U+2229 +map 0xF0 to U+2261 +map 0xF1 to U+00B1 +map 0xF2 to U+2265 +map 0xF3 to U+2264 +map 0xF4-0xF5 to U+2320 +map 0xF6 to U+00F7 +map 0xF7 to U+2248 +map 0xF8 to U+00B0 +map 0xF9 to U+2219 +map 0xFA to U+00B7 +map 0xFB to U+221A +map 0xFC to U+207F +map 0xFD to U+00B2 +map 0xFE to U+25A0 +map 0xFF to U+00A0 diff --git a/maps/ibm-737 b/maps/ibm-737 new file mode 100644 index 0000000..ef928cb --- /dev/null +++ b/maps/ibm-737 @@ -0,0 +1,3 @@ +include ibm-210 +unmap 0xF4-0xF5 +map 0xF4-0xF5 to U+03AA diff --git a/maps/ibm-865 b/maps/ibm-865 new file mode 100644 index 0000000..381a5ec --- /dev/null +++ b/maps/ibm-865 @@ -0,0 +1,4 @@ +include ibm-437 +remap 0x9B to U+00F8 +remap 0x9D to U+00D8 +remap 0xAF to U+00A4 diff --git a/maps/inis b/maps/inis new file mode 100644 index 0000000..f1024cd --- /dev/null +++ b/maps/inis @@ -0,0 +1,11 @@ +map 0x1B-0x7F to U+001B +unmap 0x1C +unmap 0x1F +unmap 0x21-0x23 +unmap 0x26 +unmap 0x3F +unmap 0x40 +unmap 0x5C +unmap 0x5E-0x60 +unmap 0x7B +unmap 0x7D diff --git a/maps/iso-8859-1 b/maps/iso-8859-1 new file mode 100644 index 0000000..d3f5f11 --- /dev/null +++ b/maps/iso-8859-1 @@ -0,0 +1,2 @@ +map 0x20-0x7E to U+0020 +map 0xA0-0x7F to U+00A0 diff --git a/maps/iso-8859-13 b/maps/iso-8859-13 new file mode 100644 index 0000000..0a6baa3 --- /dev/null +++ b/maps/iso-8859-13 @@ -0,0 +1,77 @@ +map 0x20-0x7E to U+0020 +map 0xA0 to U+00A0 +map 0xA1 to U+201D +map 0xA2-0xA4 to U+00A2 +map 0xA5 to U+201E +map 0xA6-0xA7 to U+00A6 +map 0xA8 to U+00D8 +map 0xA9 to U+00A9 +map 0xAA to U+0156 +map 0xAB-0xAE to U+00AB +map 0xAF to U+00C6 +map 0xB0-0xB3 to U+00B0 +map 0xB4 to U+201C +map 0xB5-0xB7 to U+00B5 +map 0xB8 to U+00F8 +map 0xB9 to U+00B9 +map 0xBA to U+0157 +map 0xBB-0xBE to U+00BB +map 0xBF to U+00E6 +map 0xC0 to U+0104 +map 0xC1 to U+012E +map 0xC2 to U+0100 +map 0xC3 to U+0106 +map 0xC4-0xC5 to U+00C4 +map 0xC6 to U+0118 +map 0xC7 to U+0112 +map 0xC8 to U+010C +map 0xC9 to U+00C9 +map 0xCA to U+0179 +map 0xCB to U+0116 +map 0xCC to U+0122 +map 0xCD to U+0136 +map 0xCE to U+012A +map 0xCF to U+013B +map 0xD0 to U+0160 +map 0xD1 to U+0143 +map 0xD2 to U+0145 +map 0xD3 to U+00D3 +map 0xD4 to U+014C +map 0xD5-0xD7 to U+00D5 +map 0xD8 to U+0172 +map 0xD9 to U+0141 +map 0xDA to U+015A +map 0xDB to U+016A +map 0xDC to U+00DC +map 0xDD to U+017B +map 0xDE to U+017D +map 0xDF to U+00DF +map 0xE0 to U+0105 +map 0xE1 to U+012F +map 0xE2 to U+0101 +map 0xE3 to U+0107 +map 0xE4-0xE5 to U+00E4 +map 0xE6 to U+0119 +map 0xE7 to U+0113 +map 0xE8 to U+010D +map 0xE9 to U+00E9 +map 0xEA to U+017A +map 0xEB to U+0117 +map 0xEC to U+0123 +map 0xED to U+0137 +map 0xEE to U+0137 +map 0xEF to U+013C +map 0xF0 to U+0161 +map 0xF1 to U+0144 +map 0xF2 to U+0146 +map 0xF3 to U+00F3 +map 0xF4 to U+014D +map 0xF5-0xF7 to U+00F5 +map 0xF8 to U+0173 +map 0xF9 to U+0142 +map 0xFA to U+015B +map 0xFB to U+016B +map 0xFC to U+00FC +map 0xFD to U+017C +map 0xFE to U+017E +map 0xFF to U+2019 diff --git a/maps/iso-8859-14 b/maps/iso-8859-14 new file mode 100644 index 0000000..eefccf9 --- /dev/null +++ b/maps/iso-8859-14 @@ -0,0 +1,26 @@ +map 0x20-0x7E to U+0020 +map 0xA0 to U+00A0 +map 0xA1-0xA2 to U+1E02 +map 0xA3 to U+00A3 +map 0xA4-0xA5 to U+010A +map 0xA6 to U+1E0A +map 0xA7 to U+00A7 +map 0xA8 to U+1E80 +map 0xA9 to U+00A9 +map 0xAA to U+1E82 +map 0xAB to U+1E0B +map 0xAC to U+1EF2 +map 0xAD-0xAE to U+00AD +map 0xAF to U+0178 +map 0xB0-0xB1 to U+1E1E +map 0xB2-0xB3 to U+0120 +map 0xB4-0xB5 to U+1E40 +map 0xB6 to U+00B6 +map 0xB7 to U+1E56 +map 0xB8 to U+1E81 +map 0xB9 to U+1E57 +map 0xBA to U+1E83 +map 0xBB to U+1E60 +map 0xBC to U+1EF3 +map 0xBD-0xBE to U+1E84 +map 0xBF to U+1E61 diff --git a/maps/iso-8859-15 b/maps/iso-8859-15 new file mode 100644 index 0000000..9835681 --- /dev/null +++ b/maps/iso-8859-15 @@ -0,0 +1,16 @@ +map 0x20-0x7E to U+0020 +map 0xA0-0xA3 to U+00A0 +map 0xA4 to U+20AC +map 0xA5 to U+00A5 +map 0xA6 to U+0160 +map 0xA7 to U+00A7 +map 0xA8 to U+0161 +map 0xA9-0xB3 to U+00A7 +map 0xB4 to U+017D +map 0xB5-0xB7 to U+00B5 +map 0xB8 to U+017E +map 0xB9-0xBB to U+00BB +map 0xBC to U+0152 +map 0xBD to U+0153 +map 0xBE to U+0178 +map 0xBF-0xFF to U+00BF diff --git a/maps/iso-8859-16 b/maps/iso-8859-16 new file mode 100644 index 0000000..b49bcdd --- /dev/null +++ b/maps/iso-8859-16 @@ -0,0 +1,59 @@ +map 0x20-0x7E to U+0020 +map 0xA0 to U+00A0 +map 0xA1-0xA2 to U+0104 +map 0xA3 to U+0141 +map 0xA4 to U+20AC +map 0xA5 to U+201E +map 0xA6 to U+0160 +map 0xA7 to U+00A7 +map 0xA8 to U+0161 +map 0xA9 to U+00A9 +map 0xAA to U+0218 +map 0xAB to U+00AB +map 0xAC to U+0179 +map 0xAD to U+00AD +map 0xAE-0xAF to U+017A +map 0xB0-0xB1 to U+00B0 +map 0xB2 to U+010C +map 0xB3 to U+0142 +map 0xB4 to U+017D +map 0xB5 to U+201D +map 0xB6-0xB7 to U+00B6 +map 0xB8 to U+017E +map 0xB9 to U+010D +map 0xBA to U+0219 +map 0xBB to U+00BB +map 0xBC-0xBD to U+0152 +map 0xBE to U+0178 +map 0xBF to U+017C +map 0xC0-0xC2 to U+00C0 +map 0xC3 to U+0102 +map 0xC4 to U+00C4 +map 0xC5 to U+0106 +map 0xC6-0xCF to U+00C6 +map 0xD0 to U+0110 +map 0xD1 to U+0143 +map 0xD2-0xD4 to U+00D2 +map 0xD5 to U+0150 +map 0xD6 to U+00D6 +map 0xD7 to U+015A +map 0xD8 to U+0170 +map 0xD9-0xDC to U+00D9 +map 0xDD to U+0118 +map 0xDE to U+021A +map 0xDF-0xE2 to U+00DF +map 0xE3 to U+0103 +map 0xE4 to U+00E4 +map 0xE5 to U+0107 +map 0xE6-0xEF to U+00E6 +map 0xF0 to U+0111 +map 0xF1 to U+0144 +map 0xF2-0xF4 to U+00F2 +map 0xF5 to U+0144 +map 0xF6 to U+00F6 +map 0xF7 to U+015B +map 0xF8 to U+0171 +map 0xF9-0xFC to U+00F9 +map 0xFD to U+0119 +map 0xFE to U+021B +map 0xFF to U+00FF diff --git a/maps/iso-8859-2 b/maps/iso-8859-2 new file mode 100644 index 0000000..d5c58e6 --- /dev/null +++ b/maps/iso-8859-2 @@ -0,0 +1,97 @@ +map 0x20-0x7E to U+0020 +map 0xA0 to U+00A0 +map 0xA1 to U+0104 +map 0xA2 to U+02D8 +map 0xA3 to U+0131 +map 0xA4 to U+00A4 +map 0xA5 to U+013D +map 0xA6 to U+015A +map 0xA7 to U+00A7 +map 0xA8 to U+00A8 +map 0xA9 to U+0160 +map 0xAA to U+015E +map 0xAB to U+0164 +map 0xAC to U+0179 +map 0xAD to U+00AD +map 0xAE to U+017D +map 0xAF to U+017B +map 0xB0 to U+00B0 +map 0xB1 to U+0105 +map 0xB2 to U+02DB +map 0xB3 to U+0142 +map 0xB4 to U+00B4 +map 0xB5 to U+013E +map 0xB6 to U+015B +map 0xB7 to U+02C7 +map 0xB8 to U+00B8 +map 0xB9 to U+0161 +map 0xBA to U+015F +map 0xBB to U+0165 +map 0xBC to U+017A +map 0xBD to U+02DD +map 0xBE to U+017E +map 0xBF to U+017C +map 0xC0 to U+0154 +map 0xC1 to U+00C1 +map 0xC2 to U+00C2 +map 0xC3 to U+0102 +map 0xC4 to U+00C4 +map 0xC5 to U+0139 +map 0xC6 to U+0106 +map 0xC7 to U+00C7 +map 0xC8 to U+010C +map 0xC9 to U+00C9 +map 0xCA to U+0118 +map 0xCB to U+00CB +map 0xCC to U+011A +map 0xCD to U+00CD +map 0xCE to U+00CE +map 0xCF to U+010E +map 0xD0 to U+0110 +map 0xD1 to U+0143 +map 0xD2 to U+0147 +map 0xD3 to U+00D3 +map 0xD4 to U+00D4 +map 0xD5 to U+0150 +map 0xD6 to U+00D6 +map 0xD7 to U+00D7 +map 0xD8 to U+0158 +map 0xD9 to U+016E +map 0xDA to U+00DA +map 0xDB to U+0170 +map 0xDC to U+00DC +map 0xDD to U+00DD +map 0xDE to U+0162 +map 0xDF to U+00DF +map 0xE0 to U+0155 +map 0xE1 to U+00E1 +map 0xE2 to U+00E2 +map 0xE3 to U+0103 +map 0xE4 to U+00E4 +map 0xE5 to U+013A +map 0xE6 to U+0107 +map 0xE7 to U+00E7 +map 0xE8 to U+010D +map 0xE9 to U+00E9 +map 0xEA to U+0119 +map 0xEB to U+00EB +map 0xEC to U+011B +map 0xED to U+00ED +map 0xEE to U+00EE +map 0xEF to U+010F +map 0xF0 to U+0111 +map 0xF1 to U+0144 +map 0xF2 to U+0148 +map 0xF3 to U+00F3 +map 0xF4 to U+00F4 +map 0xF5 to U+0151 +map 0xF6 to U+00F6 +map 0xF7 to U+00F7 +map 0xF8 to U+0159 +map 0xF9 to U+016F +map 0xFA to U+00FA +map 0xFB to U+0171 +map 0xFC to U+00FC +map 0xFD to U+00FD +map 0xFE to U+0163 +map 0xFF to U+02D9 diff --git a/maps/iso-8859-3 b/maps/iso-8859-3 new file mode 100644 index 0000000..d11cb1d --- /dev/null +++ b/maps/iso-8859-3 @@ -0,0 +1,49 @@ +map 0x20-0x7E to U+0020 +map 0xA0 to U+00A0 +map 0xA1 to U+0126 +map 0xA2 to U+02D8 +map 0xA3-0xA4 to U+00A3 +map 0xA6 to U+0124 +map 0xA7-0xA8 to U+00A7 +map 0xA9 to U+0130 +map 0xAA to U+015E +map 0xAB to U+011E +map 0xAC to U+0134 +map 0xAD to U+00AD +map 0xAF to U+017B +map 0xB0 to U+00B0 +map 0xB1 to U+0127 +map 0xB2-0xB5 to U+00B2 +map 0xB6 to U+0125 +map 0xB7-0xB8 to U+00B7 +map 0xB9 to U+0131 +map 0xBA to U+015F +map 0xBB to U+011F +map 0xBC to U+0135 +map 0xBD to U+00BD +map 0xBF to U+017C +map 0xC0-0xC2 to U+00C0 +map 0xC4 to U+00C4 +map 0xC5 to U+010A +map 0xC6 to U+0108 +map 0xC7-0xCF to U+00C7 +map 0xD1-0xD4 to U+00D1 +map 0xD5 to U+0120 +map 0xD6-0xD7 to U+00D6 +map 0xD8 to U+011C +map 0xD9-0xDC to U+00D9 +map 0xDD to U+016C +map 0xDE to U+015C +map 0xDF-0xE2 to U+00DF +map 0xE4 to U+00E4 +map 0xE5 to U+010B +map 0xE6 to U+0109 +map 0xE7-0xEF to U+00E7 +map 0xF1-0xF4 to U+00F1 +map 0xF5 to U+0121 +map 0xF6-0xF7 to U+00F6 +map 0xF8 to U+011D +map 0xF9-0xFC to U+00F9 +map 0xFD to U+016D +map 0xFE to U+015D +map 0xFF to U+02D9 diff --git a/maps/iso-8859-4 b/maps/iso-8859-4 new file mode 100644 index 0000000..c431007 --- /dev/null +++ b/maps/iso-8859-4 @@ -0,0 +1,71 @@ +map 0x20-0x7E to U+0020 +map 0xA0 to U+00A0 +map 0xA1 to U+0104 +map 0xA2 to U+0138 +map 0xA3 to U+0156 +map 0xA4 to U+00A4 +map 0xA5 to U+0128 +map 0xA6 to U+013B +map 0xA7-0xA8 to U+00A7 +map 0xA9 to U+0160 +map 0xAA to U+0112 +map 0xAB to U+0122 +map 0xAC to U+0166 +map 0xAD to U+00AD +map 0xAE to U+017D +map 0xAF-0xB0 to U+00AF +map 0xB1 to U+0105 +map 0xB2 to U+02DB +map 0xB3 to U+0157 +map 0xB4 to U+00B4 +map 0xB5 to U+0129 +map 0xB6 to U+013C +map 0xB7 to U+02C7 +map 0xB8 to U+00B8 +map 0xB9 to U+0161 +map 0xBA to U+0113 +map 0xBB to U+0123 +map 0xBC to U+0167 +map 0xBD to U+014A +map 0xBE to U+017E +map 0xBF to U+014B +map 0xC0 to U+0100 +map 0xC1-0xC6 to U+00C1 +map 0xC7 to U+012E +map 0xC8 to U+010C +map 0xC9 to U+00C9 +map 0xCA to U+0118 +map 0xCB to U+00CB +map 0xCC to U+0116 +map 0xCD-0xCE to U+00CD +map 0xCF to U+012A +map 0xD0 to U+0110 +map 0xD1 to U+0145 +map 0xD2 to U+014C +map 0xD3 to U+0136 +map 0xD4-0xD8 to U+00D4 +map 0xD9 to U+0172 +map 0xDA-0xDC to U+00DA +map 0xDD to U+0168 +map 0xDE to U+016A +map 0xDF to U+00DF +map 0xE0 to U+0101 +map 0xE1-0xE6 to U+00E1 +map 0xE7 to U+012F +map 0xE8 to U+010D +map 0xE9 to U+00E9 +map 0xEA to U+0119 +map 0xEB to U+00EB +map 0xEC to U+0117 +map 0xED-0xEE to U+00ED +map 0xEF to U+012B +map 0xF0 to U+0111 +map 0xF1 to U+0146 +map 0xF2 to U+014D +map 0xF3 to U+0137 +map 0xF4-0xF8 to U+00F4 +map 0xF9 to U+0173 +map 0xFA-0xFC to U+00FA +map 0xFD to U+0169 +map 0xFE to U+016B +map 0xFF to U+02D9 diff --git a/maps/iso-8859-5 b/maps/iso-8859-5 new file mode 100644 index 0000000..27e22a1 --- /dev/null +++ b/maps/iso-8859-5 @@ -0,0 +1,7 @@ +map 0x20-0x7E to U+0020 +map 0xA0 to U+00A0 +map 0xA1-0xAC to U+0401 +map 0xAD to U+00AD +map 0xAE-EF to U+040E +map 0xF0 to U+2116 +map 0xF1-0xFF to U+0451 diff --git a/maps/iso-8859-9 b/maps/iso-8859-9 new file mode 100644 index 0000000..f01fe92 --- /dev/null +++ b/maps/iso-8859-9 @@ -0,0 +1,12 @@ +map 0x20-0x7E to U+0020 +map 0xA0-0xCF to U+00A0 +map 0xD0 to U+011E +map 0xD1-0xDC to U+00D1 +map 0xDD to U+0130 +map 0xDE to U+015E +map 0xDF-0xEF to U+00DF +map 0xF0 to U+011F +map 0xF1-0xFC to U+00F1 +map 0xFD to U+0131 +map 0xFE to U+015F +map 0xFF to U+00FF diff --git a/maps/iso-ir-182 b/maps/iso-ir-182 new file mode 100644 index 0000000..f49368a --- /dev/null +++ b/maps/iso-ir-182 @@ -0,0 +1,26 @@ +map 0x20-0x7E to U+0020 +map 0xA0-0xA7 to U+00A0 +map 0xA8 to U+1E80 +map 0xA9 to U+00A9 +map 0xAA to U+1E82 +map 0xAB to U+00AB +map 0xAC to U+1EF2 +map 0xAD to U+00AD +map 0xAF to U+0178 +map 0xB0-0xB7 to U+00B0 +map 0xB8 to U+1E81 +map 0xB9 to U+00B9 +map 0xBA to U+1E83 +map 0xBB to U+00BB +map 0xBC to U+1EF3 +map 0xBD to U+1E84 +map 0xBE to U+1E85 +map 0xBF-0xCF to U+00BF +map 0xD0 to U+0174 +map 0xD1-0xDD to U+00D1 +map 0xDE to U+0176 +map 0xDF-0xEF to U+00DF +map 0xF0 to U+0175 +map 0xF1-0xFD to U+00F1 +map 0xFE to U+0177 +map 0xFF to U+00FF diff --git a/maps/mazovia b/maps/mazovia new file mode 100644 index 0000000..74bcb49 --- /dev/null +++ b/maps/mazovia @@ -0,0 +1,17 @@ +include ibm-437 +remap 0x86 to U+0105 +remap 0x8D to U+0107 +remap 0x8F to U+0104 +remap 0x90-0x91 to U+0118 +remap 0x92 to U+0142 +remap 0x95 to U+0106 +remap 0x98 to U+015A +remap 0x9C to U+0141 +remap 0x9E to U+015B +remap 0xA0 to U+0179 +remap 0xA1 to U+017B +remap 0xA3 to U+00D3 +remap 0xA4 to U+0144 +remap 0xA5 to U+0143 +remap 0xA6 to U+017A +remap 0xA7 to U+017C diff --git a/maps/nl7dec b/maps/nl7dec new file mode 100644 index 0000000..0013e04 --- /dev/null +++ b/maps/nl7dec @@ -0,0 +1,14 @@ +map 0x00-0x22 to U+0000 +map 0x23 to U+00A3 +map 0x24-0x3F to U+0024 +map 0x40 to U+00BE +map 0x41-0x5A to U+0041 +map 0x5B to U+0133 +map 0x5C to U+00BD +map 0x5D to U+007C +map 0x5E-0x7A to U+005E +map 0x7B to U+00A8 +map 0x7C to U+0192 +map 0x7D to U+00BC +map 0x7E to U+00B4 +map 0x7F to U+007F diff --git a/maps/s7dec b/maps/s7dec new file mode 100644 index 0000000..1438ea8 --- /dev/null +++ b/maps/s7dec @@ -0,0 +1,2 @@ +include sf7dec +remap 0x40 to U+00C9 diff --git a/maps/sf7dec b/maps/sf7dec new file mode 100644 index 0000000..33d7922 --- /dev/null +++ b/maps/sf7dec @@ -0,0 +1,13 @@ +map 0x00-0x5A to U+0000 +map 0x5B to U+00C4 +map 0x5C to U+00D6 +map 0x5D to U+00C5 +map 0x5E to U+00DC +map 0x5F to U+005F +map 0x60 to U+00E9 +map 0x61-0x7A to U+0061 +map 0x7B to U+00E4 +map 0x7C to 00F6 +map 0x7D to 00E5 +map 0x7E to 00FC +map 0x7F to U+007F diff --git a/maps/us-ascii b/maps/us-ascii new file mode 100644 index 0000000..e7111de --- /dev/null +++ b/maps/us-ascii @@ -0,0 +1 @@ +map 0x00-0x7F to U+0000 diff --git a/mk/linux.mk b/mk/linux.mk new file mode 100644 index 0000000..ad58f69 --- /dev/null +++ b/mk/linux.mk @@ -0,0 +1,6 @@ +LIBEXT = so +LIBFLAGS = -shared -Wl,-soname,lib$(LIB_NAME).$(LIBEXT).$(LIB_MAJOR) +LIBMAJOREXT = $(LIBEXT).$(LIB_MAJOR) +LIBMINOREXT = $(LIBEXT).$(LIB_VERSION) + +FIX_INSTALL_NAME = : diff --git a/mk/macos.mk b/mk/macos.mk new file mode 100644 index 0000000..bffa452 --- /dev/null +++ b/mk/macos.mk @@ -0,0 +1,6 @@ +LIBEXT = dylib +LIBFLAGS = -dynamiclib -Wl,-compatibility_version,$(LIB_MAJOR) -Wl,-current_version,$(LIB_VERSION) +LIBMAJOREXT = $(LIB_MAJOR).$(LIBEXT) +LIBMINOREXT = $(LIB_VERSION).$(LIBEXT) + +FIX_INSTALL_NAME = install_name_tool -id "$(PREFIX)/lib/libcharsets.$(LIBMAJOREXT)" diff --git a/mk/windows.mk b/mk/windows.mk new file mode 100644 index 0000000..ed5ec8d --- /dev/null +++ b/mk/windows.mk @@ -0,0 +1,6 @@ +LIBEXT = dll +LIBFLAGS = -shared +LIBMAJOREXT = $(LIB_MAJOR).$(LIBEXT) +LIBMINOREXT = $(LIB_VERSION).$(LIBEXT) + +FIX_INSTALL_NAME = : |
