Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save amigojapan/6a86bf7f3e1a9d115669ff9e96b4b875 to your computer and use it in GitHub Desktop.

Select an option

Save amigojapan/6a86bf7f3e1a9d115669ff9e96b4b875 to your computer and use it in GitHub Desktop.
converts single width latin to doubel width latin
function replaceStringOfRomajiWithDoubleWidthCHaracters2(str)
-- Define a mapping of single-width to double-width characters
local mapping = {
["!"] = "!", ["\""] = """, ["#"] = "#", ["$"] = "$", ["%"] = "%",
["&"] = "&", ["'"] = "'", ["("] = "(", [")"] = ")", ["*"] = "*",
["+"] = "+", [","] = ",", ["-"] = "-", ["."] = ".", ["/"] = "/",
["0"] = "0", ["1"] = "1", ["2"] = "2", ["3"] = "3", ["4"] = "4",
["5"] = "5", ["6"] = "6", ["7"] = "7", ["8"] = "8", ["9"] = "9",
[":"] = ":", [";"] = ";", ["<"] = "<", ["="] = "=", [">"] = ">",
["?"] = "?", ["@"] = "@", ["["] = "[", ["\\"] = "\", ["]"] = "]",
["_"] = "_", ["`"] = "`", ["{"] = "{", ["|"] = "|", ["}"] = "}",
["~"] = "~", ["¥"] = "¥",
["A"] = "A", ["B"] = "B", ["C"] = "C", ["D"] = "D", ["E"] = "E",
["F"] = "F", ["G"] = "G", ["H"] = "H", ["I"] = "I", ["J"] = "J",
["K"] = "K", ["L"] = "L", ["M"] = "M", ["N"] = "N", ["O"] = "O",
["P"] = "P", ["Q"] = "Q", ["R"] = "R", ["S"] = "S", ["T"] = "T",
["U"] = "U", ["V"] = "V", ["W"] = "W", ["X"] = "X", ["Y"] = "Y",
["Z"] = "Z",
["a"] = "a", ["b"] = "b", ["c"] = "c", ["d"] = "d", ["e"] = "e",
["f"] = "f", ["g"] = "g", ["h"] = "h", ["i"] = "i", ["j"] = "j",
["k"] = "k", ["l"] = "l", ["m"] = "m", ["n"] = "n", ["o"] = "o",
["p"] = "p", ["q"] = "q", ["r"] = "r", ["s"] = "s", ["t"] = "t",
["u"] = "u", ["v"] = "v", ["w"] = "w", ["x"] = "x", ["y"] = "y",
["z"] = "z"
}
-- Replace each character using the mapping
return (str:gsub(".", function(c) return mapping[c] or c end))
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment