I'm sorry, there is no amazing things here for the moment. I'm in the process of cleaning up some of my code and will publish them here as soon as possible.
u8tol15
Presentation
This is just a small tool to convert utf-8 files to iso-latin-15. It convert only chars with an exact equivalent in iso-latin-15, all other unconvertible chars are removed or replaced by a default char.
This is not intended to replace iconv or other tool like this in the general case. I've written this because I've needed to process, in constrained environment, a very huge amount of data in utf-8 and the process program take an iso-latin-15 stream. iconv is very great tools but not adpted in this case.
Originally it was designed to be embeded in code, but I've made it a separate tool if some peolples are interrested.
Download
u8tol15 is distributed under the term of the MIT licence. For any bug repport or information contact me at : thomas DOT lavergne AT reveurs DOT org.
- • u8tol15 v0.1.0 [download]
Mixlua
Presentation
Mixlua is a library for Lua 5.1 who provide an onload preprocessor for lua files and allow mixing of Lua code with other data. It provide loadstring and loadfile function similar to Lua ones but with aditional argument for specifing how the data element are recognized and handled, and produce a regular lua compiled chunk with additional material for handleing the data.
Download
Mixlua is distributed under the term of the MIT licence like Lua. For any bug repport or information contact me at : thomas DOT lavergne AT reveurs DOT org.
- • Mixlua v0.2.7 [download]
Example
require("mixlua")
-- Example : This is the table who contain data to save
ex = {
name = "Example 1",
width = 1024,
height = 768,
windows = {
{name = "Win 1", level = 3},
{name = "Win 2", level = 1},
{name = "Win 3", level = 5},
{name = "Win 4", level = 4},
}
}
-- This is a template for saving in file like ini configuration files
template_ini = [[
[general]
name = <<= ex.name >>
width = <<= ex.width >>
height = <<= ex.height >>
<< for id, win in ipairs(ex.windows) do >>
[window<<=id>>]
name = <<= win.name >>
level = <<= win.level >>
<< end >>
]]
assert(mix.loadstring(template_ini, "<<", ">>"))()