summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatexko/luatexko-uhc2utf8.lua
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-06-19 20:24:23 +0000
committerKarl Berry <karl@freefriends.org>2014-06-19 20:24:23 +0000
commit2ab598832d6c69a43f55cc0fce844b2464d1b339 (patch)
tree43a6ed23345f78f1b5e252df0d84e277a83f5bc7 /Master/texmf-dist/tex/luatex/luatexko/luatexko-uhc2utf8.lua
parentc46f74d4c2a102cc794be871c46f42519bf6da8a (diff)
luatexko (19jun14)
git-svn-id: svn://tug.org/texlive/trunk@34320 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexko/luatexko-uhc2utf8.lua')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexko/luatexko-uhc2utf8.lua22
1 files changed, 12 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexko/luatexko-uhc2utf8.lua b/Master/texmf-dist/tex/luatex/luatexko/luatexko-uhc2utf8.lua
index 3d28a668b1f..95c29ac71bd 100644
--- a/Master/texmf-dist/tex/luatex/luatexko/luatexko-uhc2utf8.lua
+++ b/Master/texmf-dist/tex/luatex/luatexko/luatexko-uhc2utf8.lua
@@ -12,8 +12,8 @@
luatexbase.provides_module({
name = "luatexko-uhc2utf8",
- version = 1.5,
- date = "2014/05/11",
+ version = 1.6,
+ date = "2014/06/17",
author = "Dohyun Kim",
description = "UHC (CP949) input encoding",
license = "LPPL v1.3+",
@@ -63,14 +63,16 @@ local t_uhc2ucs = t_uhc2ucs or get_uhc_uni_table()
local uhc_to_utf8 = function(buffer)
if not buffer then return end
-- check if buffer is already utf-8; better solution?
- local isutf = true
- for v in utfvalues(buffer) do
- if v == 0xFFFD then -- REPLACEMENT CHARACTER
- isutf = false
- break
- end
- end
- if isutf == true then return buffer end
+ local ubuffer = buffer
+ ubuffer = gsub(ubuffer,"[\000-\127]","")
+ ubuffer = gsub(ubuffer,"[\194-\223][\128-\191]","")
+ ubuffer = gsub(ubuffer,"\224[\160-\191][\128-\191]","")
+ ubuffer = gsub(ubuffer,"[\225-\236\238\239][\128-\191][\128-\191]","")
+ ubuffer = gsub(ubuffer,"\237[\128-\159][\128-\191]","")
+ ubuffer = gsub(ubuffer,"\240[\144-\191][\128-\191][\128-\191]","")
+ ubuffer = gsub(ubuffer,"[\241-\243][\128-\191][\128-\191][\128-\191]","")
+ ubuffer = gsub(ubuffer,"\244[\128-\143][\128-\191][\128-\191]","")
+ if ubuffer == "" then return buffer end
-- now convert to utf8
buffer = gsub(buffer, "([\129-\253])([\65-\254])",
function(a, b)