latin-unity /

Filename Size Date modified Message
350 B
260 B
1.5 KB
1.2 KB
81 B
2.0 KB
161.6 KB
12.4 KB
7.3 KB
14.5 KB
548 B
458 B
latin-unity

Mule bogusly considers the various ISO-8859 extended character sets as
disjoint, when ISO 8859 itself clearly considers them to be subsets of
a larger character set.  For example, all of the Latin character sets
include NO-BREAK SPACE at code point 32 (ie, 0xA0 in an 8-bit code),
but the Latin-1 and Latin-2 NO-BREAK SPACE characters are considered
to be different by Mule, an obvious absurdity.  This package provides
functions which determine the list of coding systems which can encode
all of the characters in the buffer, and translate to a common coding
system if possible.

latin-unity.el is the main library, providing the detection and translation
functionality, including a hook function to hang on `write-region-pre-hook'.

latin-unity-tables.el contains the table of feasible character sets and
equivalent Mule characters from other character sets for the various Mule
representations of each character.

latin-unity-utils.el contains utilities for creating the equivalence table.

To set up the package, simply put

(add-hook 'write-region-pre-hook #'latin-unity-sanity-check)

in your init file.

Note: this package is planned for addition to the mainline in some form.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.