Compare commits
	
		
			8 Commits
		
	
	
		
			e387808065
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					1d98c6a5cc | ||
| 
						 | 
					87d65439a1 | ||
| 
						 | 
					4309b3575a | ||
| 
						 | 
					bb13ba6d7c | ||
| 
						 | 
					3d5ba32fa0 | ||
| 
						 | 
					0847176bdb | ||
| 
						 | 
					4fb53b67e8 | ||
| 
						 | 
					e5f73438ce | 
							
								
								
									
										55
									
								
								api.lua
									
									
									
									
									
								
							
							
						
						@@ -470,8 +470,8 @@ local math_max = math.max
 | 
			
		||||
local function fill_line(x, y, w, c, font_size, colorbgw)
 | 
			
		||||
	c = c or "0"
 | 
			
		||||
	local tex = { }
 | 
			
		||||
	for xx = 0, math.max(0, w), colorbgw do
 | 
			
		||||
		table.insert(tex, (":%d,%d=signs_lib_color_"..font_size.."px_%s.png"):format(x + xx, y, c))
 | 
			
		||||
	for xx = x, w, colorbgw do
 | 
			
		||||
		table.insert(tex, (":%d,%d=signs_lib_color_"..font_size.."px_%s.png"):format(xx, y, c))
 | 
			
		||||
	end
 | 
			
		||||
	return table.concat(tex)
 | 
			
		||||
end
 | 
			
		||||
@@ -583,8 +583,8 @@ local function make_line_texture(line, lineno, pos, line_width, line_height, cwi
 | 
			
		||||
					end
 | 
			
		||||
				end
 | 
			
		||||
				if w then
 | 
			
		||||
					width = width + w + 1
 | 
			
		||||
					if width >= (line_width - cwidth_tab[" "]) then
 | 
			
		||||
					width = width + w
 | 
			
		||||
					if width > line_width then
 | 
			
		||||
						width = 0
 | 
			
		||||
					else
 | 
			
		||||
						maxw = math_max(width, maxw)
 | 
			
		||||
@@ -607,6 +607,7 @@ local function make_line_texture(line, lineno, pos, line_width, line_height, cwi
 | 
			
		||||
							off = ch_offs,
 | 
			
		||||
							tex = tex,
 | 
			
		||||
							col = ("%X"):format(cur_color),
 | 
			
		||||
							w = w,
 | 
			
		||||
						})
 | 
			
		||||
					end
 | 
			
		||||
					ch_offs = ch_offs + w
 | 
			
		||||
@@ -615,8 +616,8 @@ local function make_line_texture(line, lineno, pos, line_width, line_height, cwi
 | 
			
		||||
			else
 | 
			
		||||
				local w = cwidth_tab[c]
 | 
			
		||||
				if w then
 | 
			
		||||
					width = width + w + 1
 | 
			
		||||
					if width >= (line_width - cwidth_tab[" "]) then
 | 
			
		||||
					width = width + w
 | 
			
		||||
					if width > line_width then
 | 
			
		||||
						width = 0
 | 
			
		||||
					else
 | 
			
		||||
						maxw = math_max(width, maxw)
 | 
			
		||||
@@ -626,6 +627,7 @@ local function make_line_texture(line, lineno, pos, line_width, line_height, cwi
 | 
			
		||||
							off = ch_offs,
 | 
			
		||||
							tex = char_tex(font_name, c),
 | 
			
		||||
							col = ("%X"):format(cur_color),
 | 
			
		||||
							w = w,
 | 
			
		||||
						})
 | 
			
		||||
					end
 | 
			
		||||
					ch_offs = ch_offs + w
 | 
			
		||||
@@ -633,7 +635,7 @@ local function make_line_texture(line, lineno, pos, line_width, line_height, cwi
 | 
			
		||||
			end
 | 
			
		||||
			i = i + 1
 | 
			
		||||
		end
 | 
			
		||||
		width = width + cwidth_tab[" "] + 1
 | 
			
		||||
		width = width + cwidth_tab[" "]
 | 
			
		||||
		maxw = math_max(width, maxw)
 | 
			
		||||
		table.insert(words, { chars=chars, w=ch_offs })
 | 
			
		||||
	end
 | 
			
		||||
@@ -642,7 +644,8 @@ local function make_line_texture(line, lineno, pos, line_width, line_height, cwi
 | 
			
		||||
 | 
			
		||||
	local texture = { }
 | 
			
		||||
 | 
			
		||||
	local start_xpos = math.floor((line_width - maxw) / 2) + def.x_offset
 | 
			
		||||
	local start_xpos = math.max(0, math.floor((line_width - maxw) / 2)) + def.x_offset
 | 
			
		||||
	local end_xpos = math.min(start_xpos + maxw, line_width)
 | 
			
		||||
 | 
			
		||||
	local xpos = start_xpos
 | 
			
		||||
	local ypos = (line_height + def.line_spacing)* lineno + def.y_offset
 | 
			
		||||
@@ -651,31 +654,33 @@ local function make_line_texture(line, lineno, pos, line_width, line_height, cwi
 | 
			
		||||
 | 
			
		||||
	for word_i, word in ipairs(words) do
 | 
			
		||||
		local xoffs = (xpos - start_xpos)
 | 
			
		||||
		if (xoffs > 0) and ((xoffs + word.w) > maxw) then
 | 
			
		||||
			table.insert(texture, fill_line(xpos, ypos, maxw, "n", font_size, colorbgw))
 | 
			
		||||
		if (xoffs > 0) and ((xoffs + word.w) > end_xpos) then
 | 
			
		||||
			table.insert(texture, fill_line(xpos, ypos, end_xpos, "n", font_size, colorbgw))
 | 
			
		||||
			xpos = start_xpos
 | 
			
		||||
			ypos = ypos + line_height + def.line_spacing
 | 
			
		||||
			lineno = lineno + 1
 | 
			
		||||
			if lineno >= def.number_of_lines then break end
 | 
			
		||||
			table.insert(texture, fill_line(xpos, ypos, maxw, cur_color, font_size, colorbgw))
 | 
			
		||||
			table.insert(texture, fill_line(xpos, ypos, end_xpos, cur_color, font_size, colorbgw))
 | 
			
		||||
		end
 | 
			
		||||
		for ch_i, ch in ipairs(word.chars) do
 | 
			
		||||
			if xpos + ch.off + ch.w > end_xpos then
 | 
			
		||||
				table.insert(texture, fill_line(xpos + ch.off, ypos, end_xpos, "n", font_size, colorbgw))
 | 
			
		||||
				break
 | 
			
		||||
			end
 | 
			
		||||
			if ch.col ~= cur_color then
 | 
			
		||||
				cur_color = ch.col
 | 
			
		||||
				table.insert(texture, fill_line(xpos + ch.off, ypos, maxw, cur_color, font_size, colorbgw))
 | 
			
		||||
				table.insert(texture, fill_line(xpos + ch.off, ypos, end_xpos, cur_color, font_size, colorbgw))
 | 
			
		||||
			end
 | 
			
		||||
			table.insert(texture, (":%d,%d=%s"):format(xpos + ch.off, ypos, ch.tex))
 | 
			
		||||
		end
 | 
			
		||||
		table.insert(
 | 
			
		||||
			texture,
 | 
			
		||||
			(":%d,%d="):format(xpos + word.w, ypos) .. char_tex(font_name, " ")
 | 
			
		||||
		)
 | 
			
		||||
		xpos = xpos + word.w + cwidth_tab[" "]
 | 
			
		||||
		if xpos >= (line_width + cwidth_tab[" "]) then break end
 | 
			
		||||
		xpos = xpos + word.w
 | 
			
		||||
		if xpos < end_xpos then
 | 
			
		||||
			table.insert(texture, (":%d,%d="):format(xpos, ypos) .. char_tex(font_name, " "))
 | 
			
		||||
			xpos = xpos + cwidth_tab[" "]
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	table.insert(texture, fill_line(xpos, ypos, maxw, "n", font_size, colorbgw))
 | 
			
		||||
	table.insert(texture, fill_line(start_xpos, ypos + line_height, maxw, "n", font_size, colorbgw))
 | 
			
		||||
	table.insert(texture, fill_line(xpos, ypos, end_xpos, "n", font_size, colorbgw))
 | 
			
		||||
 | 
			
		||||
	return table.concat(texture), lineno
 | 
			
		||||
end
 | 
			
		||||
@@ -813,6 +818,9 @@ function signs_lib.update_sign(pos, fields)
 | 
			
		||||
	local ownstr = ""
 | 
			
		||||
	if owner ~= "" then ownstr = S("Locked sign, owned by @1\n", owner) end
 | 
			
		||||
 | 
			
		||||
	-- Fix pasting from Windows: CR instead of LF
 | 
			
		||||
	text = string.gsub(text, "\r\n?", "\n")
 | 
			
		||||
 | 
			
		||||
	meta:set_string("text", text)
 | 
			
		||||
	meta:set_string("infotext", ownstr..make_infotext(text).." ")
 | 
			
		||||
 | 
			
		||||
@@ -938,7 +946,13 @@ function signs_lib.after_place_node(pos, placer, itemstack, pointed_thing, locke
 | 
			
		||||
	local controls = placer:get_player_control()
 | 
			
		||||
 | 
			
		||||
	local signname = itemstack:get_name()
 | 
			
		||||
 | 
			
		||||
	-- in case player has sign nodes they shouldn't, remove extensions for normal sign
 | 
			
		||||
	local no_wall_name = string.gsub(signname, "_wall", "")
 | 
			
		||||
	no_wall_name = string.gsub(no_wall_name, "_yard", "")
 | 
			
		||||
	no_wall_name = string.gsub(no_wall_name, "_hanging", "")
 | 
			
		||||
	no_wall_name = string.gsub(no_wall_name, "_onpole_horiz", "")
 | 
			
		||||
	no_wall_name = string.gsub(no_wall_name, "_onpole", "")
 | 
			
		||||
 | 
			
		||||
	local def = minetest.registered_items[signname]
 | 
			
		||||
 | 
			
		||||
@@ -1002,6 +1016,7 @@ end
 | 
			
		||||
 | 
			
		||||
function signs_lib.register_sign(name, raw_def)
 | 
			
		||||
	local def = table.copy(raw_def)
 | 
			
		||||
	def.is_ground_content = false
 | 
			
		||||
 | 
			
		||||
	if raw_def.entity_info == "standard" then
 | 
			
		||||
		def.entity_info = {
 | 
			
		||||
 
 | 
			
		||||
@@ -231,6 +231,7 @@ signs_lib.unicode_install({38,"26"})
 | 
			
		||||
dofile(signs_lib.path.."/nonascii-de.lua")
 | 
			
		||||
dofile(signs_lib.path.."/nonascii-fr.lua")
 | 
			
		||||
dofile(signs_lib.path.."/nonascii-pl.lua")
 | 
			
		||||
dofile(signs_lib.path.."/nonascii-ua.lua")
 | 
			
		||||
 | 
			
		||||
local nmdc = {
 | 
			
		||||
	[36] = "$",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								locale/signs_lib.uk.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,14 @@
 | 
			
		||||
# textdomain: signs_lib
 | 
			
		||||
Signs Lib=Таблички Lib
 | 
			
		||||
Adds signs with readable text.=Додає таблички з читабельним текстом.
 | 
			
		||||
Locked sign, owned by @1@n=Захищена табличка (власник @1@n)
 | 
			
		||||
Skims through all currently-loaded sign-bearing mapblocks, clears away any entities within each sign's node space, and regenerates their text entities, if any.=Перевіряє всі завантажені блоки з табличками, очищає їхній простір від об'єктів і відновлює текст, якщо потрібно.
 | 
			
		||||
There are no signs in the currently-loaded terrain.=Не знайдено табличок на поточній провантаженій території.
 | 
			
		||||
Found a total of @1 sign nodes across @2 blocks.=Загалом знайдено @1 табличок в @2 блоках.
 | 
			
		||||
Regenerating sign entities ...=Регенерація сутностей табличок...
 | 
			
		||||
Finished.=Завершено.
 | 
			
		||||
Write=Записати
 | 
			
		||||
Unicode font=Юнікод
 | 
			
		||||
Wide font=Широкий
 | 
			
		||||
Wooden Wall Sign=Дерев'яна табличка
 | 
			
		||||
Steel Wall Sign=Сталева табличка
 | 
			
		||||
							
								
								
									
										8
									
								
								nonascii-ua.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,8 @@
 | 
			
		||||
signs_lib.unicode_install({208,132,"0404"})
 | 
			
		||||
signs_lib.unicode_install({208,134,"0406"})
 | 
			
		||||
signs_lib.unicode_install({208,135,"0407"})
 | 
			
		||||
signs_lib.unicode_install({209,148,"0454"})
 | 
			
		||||
signs_lib.unicode_install({209,150,"0456"})
 | 
			
		||||
signs_lib.unicode_install({209,151,"0457"})
 | 
			
		||||
signs_lib.unicode_install({210,144,"0490"})
 | 
			
		||||
signs_lib.unicode_install({210,145,"0491"})
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_16px_0404.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 129 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_16px_0406.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 86 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_16px_0407.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 98 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_16px_0454.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 135 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_16px_0456.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 94 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_16px_0457.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 91 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_16px_0490.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 102 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_16px_0491.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 103 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_32px_0404.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 192 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_32px_0406.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 100 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_32px_0407.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 110 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_32px_0454.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 171 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_32px_0456.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 99 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_32px_0457.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 107 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_32px_0490.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 110 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/signs_lib_font_32px_0491.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 111 B  | 
							
								
								
									
										8
									
								
								util/nonascii-ua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,8 @@
 | 
			
		||||
ґ
 | 
			
		||||
і
 | 
			
		||||
ї
 | 
			
		||||
є
 | 
			
		||||
Ґ
 | 
			
		||||
І
 | 
			
		||||
Ї
 | 
			
		||||
Є
 | 
			
		||||