------------------------------------------| O U T P U T |-----------------------------------------function format_destname(data, idx) local t local out if data[idx].signpost then t = transform_chain({}, signpost_exitname, data, idx) t = transform_chain(t, signpost_exitnumber, data, idx) t = transform_chain(t, signpost_roadnumber, data, idx) t = transform_chain(t, signpost_destination, data, idx) t = transform_chain(t, signpost_settlement, data, idx) out = table_concat(t, L"") elseif data[idx].road then t = transform_chain({}, road_number, data, idx) t = transform_chain(t, road_name, data, idx) out = wstring.format(destname.ROADNAME, table_concat(t, L"")) end return outendfunction format_streetname(data, idx) local t t = transform_chain({}, road_number, data, idx) t = transform_chain(t, road_name, data, idx) return table_concat(t, L"")end
substitute_transform = TRANSFORM.new({ {2,L"^(%u)(%u)[ -]*(%d+)",L"%1.%2. %3"}, {2,L"\-",L" "}, {2,L"(%d)(%a)",L"%1 %2"}, {2,L"(%a)(%d)",L"%1 %2"}, {2,L"//",L", "}, {2,L"/",L"ทับ, "},})
local function road_name(data, idx) return transform_and_format(data[idx].road.name, format_road_name)end
local function road_name(data, idx) return transform_and_format(data[idx].road.name, substitute_transform)end
local function road_number(data, idx) return transform_and_format(data[idx].road.name, format_road_number)
transform.roadname_abbrev_table = TRANSFORM.new({ {2,L"(?i)([0-9])[ -]BL\\b", L"\\1 Business Loop"}, {2,L"(?i)([0-9])[ -]BR\\b", L"\\1 Business Road"}, {2,L"(?i)([0-9])[ -]BS\\b", L"\\1 Business Spur"}, {2,L"(?i)^S\\.?T\\.? ",L"Saint "}, {2,L"(?i)\\sST\\.?\\b",L" Street"}, {2,L"/",L"ทับ, "}, {2,L"901",L"เก้าร้อยหนึ่ง, "}, {2,L"801",L"แปดร้อยหนึ่ง, "}, {2,L"701",L"เจ็ดร้อยหนึ่ง, "}, {2,L"601",L"หกร้อยหนึ่ง, "}, {2,L"501",L"ห้าร้อยหนึ่ง, "}, {2,L"401",L"สี่ร้อยหนึ่ง, "}, {2,L"301",L"สามร้อยหนึ่ง, "}, {2,L"201",L"สองร้อยหนึ่ง, "}, {2,L"101",L"หนึ่งร้อยหนึ่ง, "},....
transform.roadname_abbrev_table = TRANSFORM.new({....
{2,L"กม.",L"กอมอ, "},