From 1b39bf7ae31f0781c65c0a8f9e1d94a37def5f56 Mon Sep 17 00:00:00 2001
From: Pierre-Yves Rollo <dev@pyrollo.com>
Date: Sat, 28 Nov 2015 20:44:04 +0100
Subject: Added facedir node support to display_lib, created font_lib, updated
 mods accordingly

---
 README.md                                       |   4 +-
 display_lib/API.md                              |  14 +-
 display_lib/README.md                           |   4 +-
 display_lib/init.lua                            |  98 +++++++++++---
 font_lib/API.md                                 |  47 +++++++
 font_lib/LICENSE.txt                            |  13 ++
 font_lib/README.md                              |  14 ++
 font_lib/depends.txt                            |   1 +
 font_lib/init.lua                               | 139 +++++++++++++++++++
 font_lib/textures/font_lib_20.png               | Bin 0 -> 232 bytes
 font_lib/textures/font_lib_21.png               | Bin 0 -> 241 bytes
 font_lib/textures/font_lib_22.png               | Bin 0 -> 235 bytes
 font_lib/textures/font_lib_23.png               | Bin 0 -> 244 bytes
 font_lib/textures/font_lib_24.png               | Bin 0 -> 247 bytes
 font_lib/textures/font_lib_25.png               | Bin 0 -> 247 bytes
 font_lib/textures/font_lib_26.png               | Bin 0 -> 246 bytes
 font_lib/textures/font_lib_27.png               | Bin 0 -> 238 bytes
 font_lib/textures/font_lib_28.png               | Bin 0 -> 242 bytes
 font_lib/textures/font_lib_29.png               | Bin 0 -> 241 bytes
 font_lib/textures/font_lib_2a.png               | Bin 0 -> 238 bytes
 font_lib/textures/font_lib_2b.png               | Bin 0 -> 241 bytes
 font_lib/textures/font_lib_2c.png               | Bin 0 -> 238 bytes
 font_lib/textures/font_lib_2d.png               | Bin 0 -> 237 bytes
 font_lib/textures/font_lib_2e.png               | Bin 0 -> 236 bytes
 font_lib/textures/font_lib_2f.png               | Bin 0 -> 244 bytes
 font_lib/textures/font_lib_30.png               | Bin 0 -> 239 bytes
 font_lib/textures/font_lib_31.png               | Bin 0 -> 239 bytes
 font_lib/textures/font_lib_32.png               | Bin 0 -> 247 bytes
 font_lib/textures/font_lib_33.png               | Bin 0 -> 246 bytes
 font_lib/textures/font_lib_34.png               | Bin 0 -> 247 bytes
 font_lib/textures/font_lib_35.png               | Bin 0 -> 247 bytes
 font_lib/textures/font_lib_36.png               | Bin 0 -> 244 bytes
 font_lib/textures/font_lib_37.png               | Bin 0 -> 242 bytes
 font_lib/textures/font_lib_38.png               | Bin 0 -> 240 bytes
 font_lib/textures/font_lib_39.png               | Bin 0 -> 243 bytes
 font_lib/textures/font_lib_3a.png               | Bin 0 -> 237 bytes
 font_lib/textures/font_lib_3b.png               | Bin 0 -> 240 bytes
 font_lib/textures/font_lib_3c.png               | Bin 0 -> 245 bytes
 font_lib/textures/font_lib_3d.png               | Bin 0 -> 236 bytes
 font_lib/textures/font_lib_3e.png               | Bin 0 -> 245 bytes
 font_lib/textures/font_lib_3f.png               | Bin 0 -> 243 bytes
 font_lib/textures/font_lib_40.png               | Bin 0 -> 259 bytes
 font_lib/textures/font_lib_41.png               | Bin 0 -> 243 bytes
 font_lib/textures/font_lib_42.png               | Bin 0 -> 240 bytes
 font_lib/textures/font_lib_43.png               | Bin 0 -> 246 bytes
 font_lib/textures/font_lib_44.png               | Bin 0 -> 242 bytes
 font_lib/textures/font_lib_45.png               | Bin 0 -> 240 bytes
 font_lib/textures/font_lib_46.png               | Bin 0 -> 241 bytes
 font_lib/textures/font_lib_47.png               | Bin 0 -> 247 bytes
 font_lib/textures/font_lib_48.png               | Bin 0 -> 240 bytes
 font_lib/textures/font_lib_49.png               | Bin 0 -> 236 bytes
 font_lib/textures/font_lib_4a.png               | Bin 0 -> 240 bytes
 font_lib/textures/font_lib_4b.png               | Bin 0 -> 246 bytes
 font_lib/textures/font_lib_4c.png               | Bin 0 -> 238 bytes
 font_lib/textures/font_lib_4d.png               | Bin 0 -> 249 bytes
 font_lib/textures/font_lib_4e.png               | Bin 0 -> 243 bytes
 font_lib/textures/font_lib_4f.png               | Bin 0 -> 243 bytes
 font_lib/textures/font_lib_50.png               | Bin 0 -> 241 bytes
 font_lib/textures/font_lib_51.png               | Bin 0 -> 244 bytes
 font_lib/textures/font_lib_52.png               | Bin 0 -> 238 bytes
 font_lib/textures/font_lib_53.png               | Bin 0 -> 247 bytes
 font_lib/textures/font_lib_54.png               | Bin 0 -> 237 bytes
 font_lib/textures/font_lib_55.png               | Bin 0 -> 238 bytes
 font_lib/textures/font_lib_56.png               | Bin 0 -> 243 bytes
 font_lib/textures/font_lib_57.png               | Bin 0 -> 246 bytes
 font_lib/textures/font_lib_58.png               | Bin 0 -> 245 bytes
 font_lib/textures/font_lib_59.png               | Bin 0 -> 244 bytes
 font_lib/textures/font_lib_5a.png               | Bin 0 -> 248 bytes
 font_lib/textures/font_lib_5b.png               | Bin 0 -> 234 bytes
 font_lib/textures/font_lib_5c.png               | Bin 0 -> 244 bytes
 font_lib/textures/font_lib_5d.png               | Bin 0 -> 234 bytes
 font_lib/textures/font_lib_5e.png               | Bin 0 -> 238 bytes
 font_lib/textures/font_lib_5f.png               | Bin 0 -> 233 bytes
 font_lib/textures/font_lib_60.png               | Bin 0 -> 234 bytes
 font_lib/textures/font_lib_61.png               | Bin 0 -> 245 bytes
 font_lib/textures/font_lib_62.png               | Bin 0 -> 242 bytes
 font_lib/textures/font_lib_63.png               | Bin 0 -> 244 bytes
 font_lib/textures/font_lib_64.png               | Bin 0 -> 243 bytes
 font_lib/textures/font_lib_65.png               | Bin 0 -> 245 bytes
 font_lib/textures/font_lib_66.png               | Bin 0 -> 240 bytes
 font_lib/textures/font_lib_67.png               | Bin 0 -> 243 bytes
 font_lib/textures/font_lib_68.png               | Bin 0 -> 240 bytes
 font_lib/textures/font_lib_69.png               | Bin 0 -> 239 bytes
 font_lib/textures/font_lib_6a.png               | Bin 0 -> 236 bytes
 font_lib/textures/font_lib_6b.png               | Bin 0 -> 246 bytes
 font_lib/textures/font_lib_6c.png               | Bin 0 -> 236 bytes
 font_lib/textures/font_lib_6d.png               | Bin 0 -> 241 bytes
 font_lib/textures/font_lib_6e.png               | Bin 0 -> 239 bytes
 font_lib/textures/font_lib_6f.png               | Bin 0 -> 241 bytes
 font_lib/textures/font_lib_70.png               | Bin 0 -> 242 bytes
 font_lib/textures/font_lib_71.png               | Bin 0 -> 243 bytes
 font_lib/textures/font_lib_72.png               | Bin 0 -> 241 bytes
 font_lib/textures/font_lib_73.png               | Bin 0 -> 242 bytes
 font_lib/textures/font_lib_74.png               | Bin 0 -> 243 bytes
 font_lib/textures/font_lib_75.png               | Bin 0 -> 239 bytes
 font_lib/textures/font_lib_76.png               | Bin 0 -> 244 bytes
 font_lib/textures/font_lib_77.png               | Bin 0 -> 240 bytes
 font_lib/textures/font_lib_78.png               | Bin 0 -> 244 bytes
 font_lib/textures/font_lib_79.png               | Bin 0 -> 241 bytes
 font_lib/textures/font_lib_7a.png               | Bin 0 -> 246 bytes
 font_lib/textures/font_lib_7b.png               | Bin 0 -> 239 bytes
 font_lib/textures/font_lib_7c.png               | Bin 0 -> 232 bytes
 font_lib/textures/font_lib_7d.png               | Bin 0 -> 239 bytes
 font_lib/textures/font_lib_7e.png               | Bin 0 -> 239 bytes
 ontime_clocks/nodes.lua                         |  12 +-
 signs/README.md                                 |  30 +---
 signs/common.lua                                | 173 ++++++++----------------
 signs/crafts.lua                                |  27 ----
 signs/depends.txt                               |   2 +-
 signs/font.lua                                  |  63 ---------
 signs/nodes.lua                                 | 173 +++++++-----------------
 signs/textures/signs_20.png                     | Bin 232 -> 0 bytes
 signs/textures/signs_21.png                     | Bin 241 -> 0 bytes
 signs/textures/signs_22.png                     | Bin 235 -> 0 bytes
 signs/textures/signs_23.png                     | Bin 244 -> 0 bytes
 signs/textures/signs_24.png                     | Bin 247 -> 0 bytes
 signs/textures/signs_25.png                     | Bin 247 -> 0 bytes
 signs/textures/signs_26.png                     | Bin 246 -> 0 bytes
 signs/textures/signs_27.png                     | Bin 238 -> 0 bytes
 signs/textures/signs_28.png                     | Bin 242 -> 0 bytes
 signs/textures/signs_29.png                     | Bin 241 -> 0 bytes
 signs/textures/signs_2a.png                     | Bin 238 -> 0 bytes
 signs/textures/signs_2b.png                     | Bin 241 -> 0 bytes
 signs/textures/signs_2c.png                     | Bin 238 -> 0 bytes
 signs/textures/signs_2d.png                     | Bin 237 -> 0 bytes
 signs/textures/signs_2e.png                     | Bin 236 -> 0 bytes
 signs/textures/signs_2f.png                     | Bin 244 -> 0 bytes
 signs/textures/signs_30.png                     | Bin 239 -> 0 bytes
 signs/textures/signs_31.png                     | Bin 239 -> 0 bytes
 signs/textures/signs_32.png                     | Bin 247 -> 0 bytes
 signs/textures/signs_33.png                     | Bin 246 -> 0 bytes
 signs/textures/signs_34.png                     | Bin 247 -> 0 bytes
 signs/textures/signs_35.png                     | Bin 247 -> 0 bytes
 signs/textures/signs_36.png                     | Bin 244 -> 0 bytes
 signs/textures/signs_37.png                     | Bin 242 -> 0 bytes
 signs/textures/signs_38.png                     | Bin 240 -> 0 bytes
 signs/textures/signs_39.png                     | Bin 243 -> 0 bytes
 signs/textures/signs_3a.png                     | Bin 237 -> 0 bytes
 signs/textures/signs_3b.png                     | Bin 240 -> 0 bytes
 signs/textures/signs_3c.png                     | Bin 245 -> 0 bytes
 signs/textures/signs_3d.png                     | Bin 236 -> 0 bytes
 signs/textures/signs_3e.png                     | Bin 245 -> 0 bytes
 signs/textures/signs_3f.png                     | Bin 243 -> 0 bytes
 signs/textures/signs_40.png                     | Bin 259 -> 0 bytes
 signs/textures/signs_41.png                     | Bin 243 -> 0 bytes
 signs/textures/signs_42.png                     | Bin 240 -> 0 bytes
 signs/textures/signs_43.png                     | Bin 246 -> 0 bytes
 signs/textures/signs_44.png                     | Bin 242 -> 0 bytes
 signs/textures/signs_45.png                     | Bin 240 -> 0 bytes
 signs/textures/signs_46.png                     | Bin 241 -> 0 bytes
 signs/textures/signs_47.png                     | Bin 247 -> 0 bytes
 signs/textures/signs_48.png                     | Bin 240 -> 0 bytes
 signs/textures/signs_49.png                     | Bin 236 -> 0 bytes
 signs/textures/signs_4a.png                     | Bin 240 -> 0 bytes
 signs/textures/signs_4b.png                     | Bin 246 -> 0 bytes
 signs/textures/signs_4c.png                     | Bin 238 -> 0 bytes
 signs/textures/signs_4d.png                     | Bin 249 -> 0 bytes
 signs/textures/signs_4e.png                     | Bin 243 -> 0 bytes
 signs/textures/signs_4f.png                     | Bin 243 -> 0 bytes
 signs/textures/signs_50.png                     | Bin 241 -> 0 bytes
 signs/textures/signs_51.png                     | Bin 244 -> 0 bytes
 signs/textures/signs_52.png                     | Bin 238 -> 0 bytes
 signs/textures/signs_53.png                     | Bin 247 -> 0 bytes
 signs/textures/signs_54.png                     | Bin 237 -> 0 bytes
 signs/textures/signs_55.png                     | Bin 238 -> 0 bytes
 signs/textures/signs_56.png                     | Bin 243 -> 0 bytes
 signs/textures/signs_57.png                     | Bin 246 -> 0 bytes
 signs/textures/signs_58.png                     | Bin 245 -> 0 bytes
 signs/textures/signs_59.png                     | Bin 244 -> 0 bytes
 signs/textures/signs_5a.png                     | Bin 248 -> 0 bytes
 signs/textures/signs_5b.png                     | Bin 234 -> 0 bytes
 signs/textures/signs_5c.png                     | Bin 244 -> 0 bytes
 signs/textures/signs_5d.png                     | Bin 234 -> 0 bytes
 signs/textures/signs_5e.png                     | Bin 238 -> 0 bytes
 signs/textures/signs_5f.png                     | Bin 233 -> 0 bytes
 signs/textures/signs_60.png                     | Bin 234 -> 0 bytes
 signs/textures/signs_61.png                     | Bin 245 -> 0 bytes
 signs/textures/signs_62.png                     | Bin 242 -> 0 bytes
 signs/textures/signs_63.png                     | Bin 244 -> 0 bytes
 signs/textures/signs_64.png                     | Bin 243 -> 0 bytes
 signs/textures/signs_65.png                     | Bin 245 -> 0 bytes
 signs/textures/signs_66.png                     | Bin 240 -> 0 bytes
 signs/textures/signs_67.png                     | Bin 243 -> 0 bytes
 signs/textures/signs_68.png                     | Bin 240 -> 0 bytes
 signs/textures/signs_69.png                     | Bin 239 -> 0 bytes
 signs/textures/signs_6a.png                     | Bin 236 -> 0 bytes
 signs/textures/signs_6b.png                     | Bin 246 -> 0 bytes
 signs/textures/signs_6c.png                     | Bin 236 -> 0 bytes
 signs/textures/signs_6d.png                     | Bin 241 -> 0 bytes
 signs/textures/signs_6e.png                     | Bin 239 -> 0 bytes
 signs/textures/signs_6f.png                     | Bin 241 -> 0 bytes
 signs/textures/signs_70.png                     | Bin 242 -> 0 bytes
 signs/textures/signs_71.png                     | Bin 243 -> 0 bytes
 signs/textures/signs_72.png                     | Bin 241 -> 0 bytes
 signs/textures/signs_73.png                     | Bin 242 -> 0 bytes
 signs/textures/signs_74.png                     | Bin 243 -> 0 bytes
 signs/textures/signs_75.png                     | Bin 239 -> 0 bytes
 signs/textures/signs_76.png                     | Bin 244 -> 0 bytes
 signs/textures/signs_77.png                     | Bin 240 -> 0 bytes
 signs/textures/signs_78.png                     | Bin 244 -> 0 bytes
 signs/textures/signs_79.png                     | Bin 241 -> 0 bytes
 signs/textures/signs_7a.png                     | Bin 246 -> 0 bytes
 signs/textures/signs_7b.png                     | Bin 239 -> 0 bytes
 signs/textures/signs_7c.png                     | Bin 232 -> 0 bytes
 signs/textures/signs_7d.png                     | Bin 239 -> 0 bytes
 signs/textures/signs_7e.png                     | Bin 239 -> 0 bytes
 signs/textures/signs_black_inventory.png        | Bin 265 -> 0 bytes
 signs/textures/signs_black_left.png             | Bin 263 -> 0 bytes
 signs/textures/signs_black_right.png            | Bin 258 -> 0 bytes
 signs/textures/signs_blue_street.png            | Bin 436 -> 0 bytes
 signs/textures/signs_blue_street_inventory.png  | Bin 472 -> 0 bytes
 signs/textures/signs_default.png                | Bin 0 -> 554 bytes
 signs/textures/signs_default_inventory.png      | Bin 0 -> 617 bytes
 signs/textures/signs_green_street.png           | Bin 274 -> 0 bytes
 signs/textures/signs_green_street_inventory.png | Bin 279 -> 0 bytes
 215 files changed, 425 insertions(+), 389 deletions(-)
 create mode 100644 font_lib/API.md
 create mode 100644 font_lib/LICENSE.txt
 create mode 100644 font_lib/README.md
 create mode 100644 font_lib/depends.txt
 create mode 100644 font_lib/init.lua
 create mode 100644 font_lib/textures/font_lib_20.png
 create mode 100644 font_lib/textures/font_lib_21.png
 create mode 100644 font_lib/textures/font_lib_22.png
 create mode 100644 font_lib/textures/font_lib_23.png
 create mode 100644 font_lib/textures/font_lib_24.png
 create mode 100644 font_lib/textures/font_lib_25.png
 create mode 100644 font_lib/textures/font_lib_26.png
 create mode 100644 font_lib/textures/font_lib_27.png
 create mode 100644 font_lib/textures/font_lib_28.png
 create mode 100644 font_lib/textures/font_lib_29.png
 create mode 100644 font_lib/textures/font_lib_2a.png
 create mode 100644 font_lib/textures/font_lib_2b.png
 create mode 100644 font_lib/textures/font_lib_2c.png
 create mode 100644 font_lib/textures/font_lib_2d.png
 create mode 100644 font_lib/textures/font_lib_2e.png
 create mode 100644 font_lib/textures/font_lib_2f.png
 create mode 100644 font_lib/textures/font_lib_30.png
 create mode 100644 font_lib/textures/font_lib_31.png
 create mode 100644 font_lib/textures/font_lib_32.png
 create mode 100644 font_lib/textures/font_lib_33.png
 create mode 100644 font_lib/textures/font_lib_34.png
 create mode 100644 font_lib/textures/font_lib_35.png
 create mode 100644 font_lib/textures/font_lib_36.png
 create mode 100644 font_lib/textures/font_lib_37.png
 create mode 100644 font_lib/textures/font_lib_38.png
 create mode 100644 font_lib/textures/font_lib_39.png
 create mode 100644 font_lib/textures/font_lib_3a.png
 create mode 100644 font_lib/textures/font_lib_3b.png
 create mode 100644 font_lib/textures/font_lib_3c.png
 create mode 100644 font_lib/textures/font_lib_3d.png
 create mode 100644 font_lib/textures/font_lib_3e.png
 create mode 100644 font_lib/textures/font_lib_3f.png
 create mode 100644 font_lib/textures/font_lib_40.png
 create mode 100644 font_lib/textures/font_lib_41.png
 create mode 100644 font_lib/textures/font_lib_42.png
 create mode 100644 font_lib/textures/font_lib_43.png
 create mode 100644 font_lib/textures/font_lib_44.png
 create mode 100644 font_lib/textures/font_lib_45.png
 create mode 100644 font_lib/textures/font_lib_46.png
 create mode 100644 font_lib/textures/font_lib_47.png
 create mode 100644 font_lib/textures/font_lib_48.png
 create mode 100644 font_lib/textures/font_lib_49.png
 create mode 100644 font_lib/textures/font_lib_4a.png
 create mode 100644 font_lib/textures/font_lib_4b.png
 create mode 100644 font_lib/textures/font_lib_4c.png
 create mode 100644 font_lib/textures/font_lib_4d.png
 create mode 100644 font_lib/textures/font_lib_4e.png
 create mode 100644 font_lib/textures/font_lib_4f.png
 create mode 100644 font_lib/textures/font_lib_50.png
 create mode 100644 font_lib/textures/font_lib_51.png
 create mode 100644 font_lib/textures/font_lib_52.png
 create mode 100644 font_lib/textures/font_lib_53.png
 create mode 100644 font_lib/textures/font_lib_54.png
 create mode 100644 font_lib/textures/font_lib_55.png
 create mode 100644 font_lib/textures/font_lib_56.png
 create mode 100644 font_lib/textures/font_lib_57.png
 create mode 100644 font_lib/textures/font_lib_58.png
 create mode 100644 font_lib/textures/font_lib_59.png
 create mode 100644 font_lib/textures/font_lib_5a.png
 create mode 100644 font_lib/textures/font_lib_5b.png
 create mode 100644 font_lib/textures/font_lib_5c.png
 create mode 100644 font_lib/textures/font_lib_5d.png
 create mode 100644 font_lib/textures/font_lib_5e.png
 create mode 100644 font_lib/textures/font_lib_5f.png
 create mode 100644 font_lib/textures/font_lib_60.png
 create mode 100644 font_lib/textures/font_lib_61.png
 create mode 100644 font_lib/textures/font_lib_62.png
 create mode 100644 font_lib/textures/font_lib_63.png
 create mode 100644 font_lib/textures/font_lib_64.png
 create mode 100644 font_lib/textures/font_lib_65.png
 create mode 100644 font_lib/textures/font_lib_66.png
 create mode 100644 font_lib/textures/font_lib_67.png
 create mode 100644 font_lib/textures/font_lib_68.png
 create mode 100644 font_lib/textures/font_lib_69.png
 create mode 100644 font_lib/textures/font_lib_6a.png
 create mode 100644 font_lib/textures/font_lib_6b.png
 create mode 100644 font_lib/textures/font_lib_6c.png
 create mode 100644 font_lib/textures/font_lib_6d.png
 create mode 100644 font_lib/textures/font_lib_6e.png
 create mode 100644 font_lib/textures/font_lib_6f.png
 create mode 100644 font_lib/textures/font_lib_70.png
 create mode 100644 font_lib/textures/font_lib_71.png
 create mode 100644 font_lib/textures/font_lib_72.png
 create mode 100644 font_lib/textures/font_lib_73.png
 create mode 100644 font_lib/textures/font_lib_74.png
 create mode 100644 font_lib/textures/font_lib_75.png
 create mode 100644 font_lib/textures/font_lib_76.png
 create mode 100644 font_lib/textures/font_lib_77.png
 create mode 100644 font_lib/textures/font_lib_78.png
 create mode 100644 font_lib/textures/font_lib_79.png
 create mode 100644 font_lib/textures/font_lib_7a.png
 create mode 100644 font_lib/textures/font_lib_7b.png
 create mode 100644 font_lib/textures/font_lib_7c.png
 create mode 100644 font_lib/textures/font_lib_7d.png
 create mode 100644 font_lib/textures/font_lib_7e.png
 delete mode 100644 signs/font.lua
 delete mode 100644 signs/textures/signs_20.png
 delete mode 100644 signs/textures/signs_21.png
 delete mode 100644 signs/textures/signs_22.png
 delete mode 100644 signs/textures/signs_23.png
 delete mode 100644 signs/textures/signs_24.png
 delete mode 100644 signs/textures/signs_25.png
 delete mode 100644 signs/textures/signs_26.png
 delete mode 100644 signs/textures/signs_27.png
 delete mode 100644 signs/textures/signs_28.png
 delete mode 100644 signs/textures/signs_29.png
 delete mode 100644 signs/textures/signs_2a.png
 delete mode 100644 signs/textures/signs_2b.png
 delete mode 100644 signs/textures/signs_2c.png
 delete mode 100644 signs/textures/signs_2d.png
 delete mode 100644 signs/textures/signs_2e.png
 delete mode 100644 signs/textures/signs_2f.png
 delete mode 100644 signs/textures/signs_30.png
 delete mode 100644 signs/textures/signs_31.png
 delete mode 100644 signs/textures/signs_32.png
 delete mode 100644 signs/textures/signs_33.png
 delete mode 100644 signs/textures/signs_34.png
 delete mode 100644 signs/textures/signs_35.png
 delete mode 100644 signs/textures/signs_36.png
 delete mode 100644 signs/textures/signs_37.png
 delete mode 100644 signs/textures/signs_38.png
 delete mode 100644 signs/textures/signs_39.png
 delete mode 100644 signs/textures/signs_3a.png
 delete mode 100644 signs/textures/signs_3b.png
 delete mode 100644 signs/textures/signs_3c.png
 delete mode 100644 signs/textures/signs_3d.png
 delete mode 100644 signs/textures/signs_3e.png
 delete mode 100644 signs/textures/signs_3f.png
 delete mode 100644 signs/textures/signs_40.png
 delete mode 100644 signs/textures/signs_41.png
 delete mode 100644 signs/textures/signs_42.png
 delete mode 100644 signs/textures/signs_43.png
 delete mode 100644 signs/textures/signs_44.png
 delete mode 100644 signs/textures/signs_45.png
 delete mode 100644 signs/textures/signs_46.png
 delete mode 100644 signs/textures/signs_47.png
 delete mode 100644 signs/textures/signs_48.png
 delete mode 100644 signs/textures/signs_49.png
 delete mode 100644 signs/textures/signs_4a.png
 delete mode 100644 signs/textures/signs_4b.png
 delete mode 100644 signs/textures/signs_4c.png
 delete mode 100644 signs/textures/signs_4d.png
 delete mode 100644 signs/textures/signs_4e.png
 delete mode 100644 signs/textures/signs_4f.png
 delete mode 100644 signs/textures/signs_50.png
 delete mode 100644 signs/textures/signs_51.png
 delete mode 100644 signs/textures/signs_52.png
 delete mode 100644 signs/textures/signs_53.png
 delete mode 100644 signs/textures/signs_54.png
 delete mode 100644 signs/textures/signs_55.png
 delete mode 100644 signs/textures/signs_56.png
 delete mode 100644 signs/textures/signs_57.png
 delete mode 100644 signs/textures/signs_58.png
 delete mode 100644 signs/textures/signs_59.png
 delete mode 100644 signs/textures/signs_5a.png
 delete mode 100644 signs/textures/signs_5b.png
 delete mode 100644 signs/textures/signs_5c.png
 delete mode 100644 signs/textures/signs_5d.png
 delete mode 100644 signs/textures/signs_5e.png
 delete mode 100644 signs/textures/signs_5f.png
 delete mode 100644 signs/textures/signs_60.png
 delete mode 100644 signs/textures/signs_61.png
 delete mode 100644 signs/textures/signs_62.png
 delete mode 100644 signs/textures/signs_63.png
 delete mode 100644 signs/textures/signs_64.png
 delete mode 100644 signs/textures/signs_65.png
 delete mode 100644 signs/textures/signs_66.png
 delete mode 100644 signs/textures/signs_67.png
 delete mode 100644 signs/textures/signs_68.png
 delete mode 100644 signs/textures/signs_69.png
 delete mode 100644 signs/textures/signs_6a.png
 delete mode 100644 signs/textures/signs_6b.png
 delete mode 100644 signs/textures/signs_6c.png
 delete mode 100644 signs/textures/signs_6d.png
 delete mode 100644 signs/textures/signs_6e.png
 delete mode 100644 signs/textures/signs_6f.png
 delete mode 100644 signs/textures/signs_70.png
 delete mode 100644 signs/textures/signs_71.png
 delete mode 100644 signs/textures/signs_72.png
 delete mode 100644 signs/textures/signs_73.png
 delete mode 100644 signs/textures/signs_74.png
 delete mode 100644 signs/textures/signs_75.png
 delete mode 100644 signs/textures/signs_76.png
 delete mode 100644 signs/textures/signs_77.png
 delete mode 100644 signs/textures/signs_78.png
 delete mode 100644 signs/textures/signs_79.png
 delete mode 100644 signs/textures/signs_7a.png
 delete mode 100644 signs/textures/signs_7b.png
 delete mode 100644 signs/textures/signs_7c.png
 delete mode 100644 signs/textures/signs_7d.png
 delete mode 100644 signs/textures/signs_7e.png
 delete mode 100644 signs/textures/signs_black_inventory.png
 delete mode 100644 signs/textures/signs_black_left.png
 delete mode 100644 signs/textures/signs_black_right.png
 delete mode 100644 signs/textures/signs_blue_street.png
 delete mode 100644 signs/textures/signs_blue_street_inventory.png
 create mode 100644 signs/textures/signs_default.png
 create mode 100644 signs/textures/signs_default_inventory.png
 delete mode 100644 signs/textures/signs_green_street.png
 delete mode 100644 signs/textures/signs_green_street_inventory.png

diff --git a/README.md b/README.md
index addcc78..ae67ab3 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,8 @@
 This modpack provides mods with dynamic display. Mods are :
 
 - **display_lib**: A library for adding display entities to nodes;
+- **font_lib**: A library for displaying fonts on entities;
 - **ontime_clocks**: A mod providing clocks which display the ingame time;
 - **signs**: A mod providing signs and direction signs displaying text;
-
+- **signs_road**: A mod providing road signs displaying text;
+- **steles**: A mod providing stone steles with text;
diff --git a/display_lib/API.md b/display_lib/API.md
index 7bfaaef..148db60 100644
--- a/display_lib/API.md
+++ b/display_lib/API.md
@@ -1,5 +1,6 @@
 # Display Lib API
-This document describes Display Lib API. Display Lib allows to add a dynamic display on a node. Node must be wallmounted and Display Lib limits its rotation to vertical positions. 
+This document describes Display Lib API. Display Lib allows to add a dynamic display on a node. Display Lib limits node rotations. For wallmounted, only vertical positionning is available, and for facedir, only first four position are availabel (those with default axis).
+
 ## Provided methods
 ### update\_entities
 **display\_lib.update\_entities(pos)**
@@ -38,7 +39,12 @@ This is a helper to register entities used for display.
 * Register display entities with **register\_display\_entity**
 * Register node with :
 	- **on\_place**, **on\_construct**, **on\_destruct** and **on\_rotate** callbacks using **display\_lib** callbacks.
-	- a **display\_entities** field in node definition containing a entity name indexed table. For each entity, two fields : **depth** indicates the entity position (-0.5 to 0.5) and **on_display_update** is a callback in charge of setting up entity texture.
+	- a **display\_entities** field in node definition containing a entity name indexed table. See below for description of each display\_entities fields.
+
+### Display_entities fields
+**depth**, **right** and **height** : Entity position regarding to node facedir/wallmounted main axis. Values for these fields can be any number between -0.5 and 0.5 (default value is 0). Position 0,0,0 is the center of the node. **depth** goes from front (-0.5) to rear (0.5), **height** goes from bottom (-0.5) to top (0.5) and **height** goes from left (-0.5) to right (0.5).
+
+**on_display_update** is a callback in charge of setting up entity texture. If not set, entity will have no texture and will be displayed as unknown item.
 
 ### Example
 
@@ -60,9 +66,9 @@ This is a helper to register entities used for display.
 			paramtype2 = "wallmounted",
 			...
 			display_entities = {
-				["mymod:entity1"] = { depth = -0.3, 
+				["mymod:entity1"] = { depth = 0.3,
 					on_display_update = my_display_update1},
-				["mymod:entity1"] = { depth = -0.2, 
+				["mymod:entity1"] = { depth = 0.2, height = 0.1,
 					on_display_update = my_display_update2},
 			},
 			...
diff --git a/display_lib/README.md b/display_lib/README.md
index 7ca97b2..b075954 100644
--- a/display_lib/README.md
+++ b/display_lib/README.md
@@ -1,8 +1,8 @@
 # Dislpay Lib
 
-This library's purpose is to ease creation of wallmounted nodes with a display on front side. For example, signs and clocks. Display can be dynamic and/or different for each node instance.
+This library's purpose is to ease creation of nodes with one or more displays on sides. For example, signs and clocks. Display can be dynamic and/or different for each node instance.
 
-**Limitations**: This lib uses entities to draw display. This means display has to be vertical. So display nodes are only wallmounted vertically.
+**Limitations**: This lib uses entities to draw display. This means display has to be vertical. So display nodes rotation are limitated to "upside up" positions.
 
 **Dependancies**:default
 
diff --git a/display_lib/init.lua b/display_lib/init.lua
index eaddfd3..276445d 100644
--- a/display_lib/init.lua
+++ b/display_lib/init.lua
@@ -6,14 +6,59 @@ display_lib = {}
 
 -- Miscelaneous values depending on wallmounted param2
 local wallmounted_values = {
-	[0]={dx=0,  dz=0,  lx=0, lz=0,  yaw=0,          rotate=0}, -- Should never be used
-		{dx=1,  dz=0,  lx=0, lz=0,  yaw=0,          rotate=1}, -- Should never be used 
-		{dx=1,  dz=0,  lx=0, lz=-1, yaw=-math.pi/2, rotate=4},
-		{dx=-1, dz=0,  lx=0, lz=1,  yaw=math.pi/2,  rotate=5},
-		{dx=0,  dz=1,  lx=1, lz=0,  yaw=0,          rotate=3},
-		{dx=0,  dz=-1, lx=-1, lz=0, yaw=math.pi,    rotate=2}
+	[0]={dx=0,  dz=0,  rx=0,  rz=0,  yaw=0,          rotate=0}, -- Should never be used
+		{dx=0,  dz=0,  rx=0,  rz=0,  yaw=0,          rotate=1}, -- Should never be used
+		{dx=-1, dz=0,  rx=0,  rz=-1, yaw=-math.pi/2, rotate=5},
+		{dx=1,  dz=0,  rx=0,  rz=1,  yaw=math.pi/2,  rotate=4},
+		{dx=0,  dz=-1, rx=1,  rz=0,  yaw=0,          rotate=2},
+		{dx=0,  dz=1,  rx=-1, rz=0,  yaw=math.pi,    rotate=3}
 }
 
+-- Miscelaneous values depending on facedir param2
+local facedir_values = {
+	[0]={dx=0,  dz=-1, rx=1,  rz=0,  yaw=0,          rotate=1},
+	    {dx=-1, dz=0,  rx=0,  rz=-1, yaw=-math.pi/2, rotate=2},
+	    {dx=0,  dz=1,  rx=-1, rz=0,  yaw=math.pi,    rotate=3},
+		{dx=1,  dz=0,  rx=0,  rz=1,  yaw=math.pi/2,  rotate=0},
+	    -- Forbiden values :
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	    {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0},
+	}
+
+-- dx/dy = depth vector, rx/ly = right vector, yaw = yaw of entity,
+-- rotate = next facedir/wallmount on rotate
+
+local function get_values(node)
+	local ndef = minetest.registered_nodes[node.name]
+
+	if ndef then
+		if ndef.paramtype2 == "wallmounted" then
+			return wallmounted_values[node.param2]
+		end
+		if ndef.paramtype2 == "facedir" then
+			return facedir_values[node.param2]
+		end
+	end
+end
+
 --- Gets the display entities attached with a node. Removes extra ones
 local function get_entities(pos)
 	local objrefs = {}
@@ -45,23 +90,24 @@ end
 local function place_entities(pos)
 	local node = minetest.get_node(pos)
 	local ndef = minetest.registered_nodes[node.name]
-	local values = wallmounted_values[node.param2]
+	local values = get_values(node)
 	local objrefs = get_entities(pos)
 
-	if ndef and ndef.display_entities then
+	if values and ndef and ndef.display_entities then
+
 		for entity_name, props in pairs(ndef.display_entities) do
 			local depth = clip_pos_prop(props.depth)
-			local top = clip_pos_prop(props.top)
-			local left = clip_pos_prop(props.left)
+			local height = clip_pos_prop(props.height)
+			local right = clip_pos_prop(props.right)
 			
 			if not objrefs[entity_name] then
 				objrefs[entity_name] = minetest.add_entity(pos, entity_name)
 			end
 
 			objrefs[entity_name]:setpos({
-				x = pos.x - values.dx * depth + values.lx * left,
-				y = pos.y + top,
-				z = pos.z - values.dz * depth + values.lz * left})
+				x = pos.x - values.dx * depth + values.rx * right,
+				y = pos.y + height,
+				z = pos.z - values.dz * depth + values.rz * right})
 
 			objrefs[entity_name]:setyaw(values.yaw)
 		end
@@ -97,19 +143,26 @@ end
 --- On_place callback for display_lib items. Does nothing more than preventing item
 --- from being placed on ceiling or ground 
 function display_lib.on_place(itemstack, placer, pointed_thing)
+	local ndef = minetest.registered_nodes[itemstack.name]
 	local above = pointed_thing.above
 	local under = pointed_thing.under
 	local dir = {x = under.x - above.x,
 				 y = under.y - above.y,
 				 z = under.z - above.z}
-	local wdir = minetest.dir_to_wallmounted(dir)
 
-	if wdir == 0 or wdir == 1 then
-		dir = placer:get_look_dir()
-		dir.y = 0
-		wdir = minetest.dir_to_wallmounted(dir)
+	if ndef and ndef.paramtype2 == "wallmounted" then
+		local wdir = minetest.dir_to_wallmounted(dir)
+
+		if wdir == 0 or wdir == 1 then
+			dir = placer:get_look_dir()
+			dir.y = 0
+			wdir = minetest.dir_to_wallmounted(dir)
+		end
+
+		return minetest.item_place(itemstack, placer, pointed_thing, wdir)
+	else
+		return minetest.item_place(itemstack, placer, pointed_thing)
 	end
-	return minetest.item_place(itemstack, placer, pointed_thing, wdir) 
 end
 
 --- On_construct callback for display_lib items. Creates entities and update them.
@@ -126,13 +179,14 @@ function display_lib.on_destruct(pos)
 	end
 end
 
-
 -- On_rotate (screwdriver) callback for display_lib items. Prevents axis rotation and reorients entities.
 function display_lib.on_rotate(pos, node, user, mode, new_param2)
 	if mode ~= screwdriver.ROTATE_FACE then return false end
 
-	if wallmounted_values[node.param2] then
-		minetest.swap_node(pos, {name = node.name, param1 = node.param1, param2 = wallmounted_values[node.param2].rotate})
+	local values = get_values(node)
+
+	if values then
+		minetest.swap_node(pos, {name = node.name, param1 = node.param1, param2 = values.rotate})
 		place_entities(pos)
 		return true
 	else
diff --git a/font_lib/API.md b/font_lib/API.md
new file mode 100644
index 0000000..7ec499b
--- /dev/null
+++ b/font_lib/API.md
@@ -0,0 +1,47 @@
+# Font Lib API
+This document describes Font Lib API. Font Lib creates textures for font display on entities.
+
+## Provided methods
+### get\_line\_width
+**font\_lib.get\_line\_width(text)**
+
+Computes line width for a given font height and text
+**text**: Text to be rendered
+
+**Returns**: rendered text width
+
+### make\_line\_texture
+**font\_lib.make\_line\_texture(text, texturew, x, y)**
+
+Builds texture part for a text line
+
+**text**: Text to be rendered
+
+**texturew**: Width of the texture (extra text is not rendered)
+
+**x**: Starting x position in texture
+
+**y**: Vertical position of the line in texture
+
+**Returns**: Texture string
+
+### make\_multiline\_texture
+**font\_lib.make\_multiline\_texture(text, texturew, textureh, maxlines, valign, color)**
+
+Builds texture for a multiline colored text
+
+**text**: Text to be rendered
+
+**texturew**: Width of the texture (extra text will be truncated)
+
+**textureh**: Height of the texture
+
+**maxlines**: Maximum number of lines
+
+**valign**: Vertical text align ("top" or "center")
+
+**color**: Color of the text
+
+**Returns**: Texture string
+
+
diff --git a/font_lib/LICENSE.txt b/font_lib/LICENSE.txt
new file mode 100644
index 0000000..bc06764
--- /dev/null
+++ b/font_lib/LICENSE.txt
@@ -0,0 +1,13 @@
+          DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+                   Version 2, December 2004
+ 
+Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
+ 
+Everyone is permitted to copy and distribute verbatim or modified
+copies of this license document, and changing it is allowed as long
+as the name is changed.
+ 
+           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+ 
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
diff --git a/font_lib/README.md b/font_lib/README.md
new file mode 100644
index 0000000..a297b93
--- /dev/null
+++ b/font_lib/README.md
@@ -0,0 +1,14 @@
+# Font Lib
+
+This library for font display on entities (to be used with display_lib for sign creation).
+
+**Dependancies**: default
+
+**License**: WTFPL
+
+(Font taken from VanessaE's homedecor/signs_lib)
+
+**API**: See API.md document please.
+
+
+
diff --git a/font_lib/depends.txt b/font_lib/depends.txt
new file mode 100644
index 0000000..4ad96d5
--- /dev/null
+++ b/font_lib/depends.txt
@@ -0,0 +1 @@
+default
diff --git a/font_lib/init.lua b/font_lib/init.lua
new file mode 100644
index 0000000..3e5b8c7
--- /dev/null
+++ b/font_lib/init.lua
@@ -0,0 +1,139 @@
+-- Font lib mod by P.Y. Rollo
+--
+-- License: WTFPL
+
+font_lib = {}
+font_lib.path = minetest.get_modpath("font_lib")
+font_lib.font_height = 10
+font_lib.font = {}
+
+-- Get png width, suposing png width is less than 256 (it is the case for all font textures)
+local function get_png_width(filename)
+	local file=assert(io.open(filename,"rb"))
+	-- All font png are smaller than 256x256 --> read only last byte
+	file:seek("set",19)
+	local w = file:read(1)
+	file:close()
+	return w:byte()
+end
+
+-- Computes line width for a given font height and text
+-- @param text Text to be rendered
+-- @return Rendered text width
+function font_lib.get_line_width(text)
+	local char
+	local width = 0
+
+	for p=1,#text
+	do
+		char = text:sub(p,p):byte()
+		if font_lib.font[char] then
+			width = width + font_lib.font[char].width
+		end
+	end
+
+	return width
+end
+
+--- Builds texture part for a text line
+-- @param text Text to be rendered
+-- @param texturew Width of the texture (extra text is not rendered)
+-- @param x Starting x position in texture
+-- @param y Vertical position of the line in texture
+-- @return Texture string
+function font_lib.make_line_texture(text, texturew, x, y)
+	local char
+
+	local texture = ""
+
+	for p=1,#text
+	do
+		char = text:sub(p,p):byte()
+		if font_lib.font[char] then
+			-- Add image only if it is visible (at least partly)
+			if x + font_lib.font[char].width >= 0 and x <= texturew then
+				texture = texture..string.format(":%d,%d=%s", x, y, font_lib.font[char].filename)
+			end
+			x = x + font_lib.font[char].width
+		end
+	end
+	return texture
+end
+
+local function split_lines(text, maxlines)
+	local splits = text:split("\n")
+	if maxlines then
+		local lines = {}
+		for num = 1,maxlines do
+			lines[num] = splits[num]
+		end
+		return lines
+	else
+		return splits
+	end
+end
+
+--- Builds texture for a multiline colored text
+-- @param text Text to be rendered
+-- @param texturew Width of the texture (extra text will be truncated)
+-- @param textureh Height of the texture
+-- @param maxlines Maximum number of lines
+-- @param valign Vertical text align ("top" or "center")
+-- @param color Color of the text
+-- @return Texture string
+function font_lib.make_multiline_texture(text, texturew, textureh, maxlines, valign, color)
+	local texture = ""
+	local lines = split_lines(text, maxlines)
+	local y
+
+	if valign == "top" then
+		y = font_lib.font_height / 2
+	else		
+		y = (textureh - font_lib.font_height * #lines) / 2 + 1 
+	end
+
+	for _, line in pairs(lines) do
+		texture = texture..font_lib.make_line_texture(line, texturew,
+			(texturew - font_lib.get_line_width(line)) / 2, y)
+		y = y + font_lib.font_height
+	end
+
+	texture = string.format("[combine:%dx%d", texturew, textureh)..texture
+	if color then texture = texture.."^[colorize:"..color end
+
+	return texture
+end
+
+--- Standard on_display_update entity callback.
+-- Node should have a corresponding display_entity with size, resolution and maxlines fields and 
+-- optionally valign and color fields
+-- @param pos Node position
+-- @param objref Object reference of entity
+
+function font_lib.on_display_update(pos, objref)
+	local meta = minetest.get_meta(pos)
+	local text = meta:get_string("display_text")
+
+	local ndef = minetest.registered_nodes[minetest.get_node(pos).name]
+	local entity = objref:get_luaentity()
+
+    if entity and ndef.display_entities[entity.name] then
+		local def = ndef.display_entities[entity.name]
+
+		objref:set_properties({ 
+			textures={font_lib.make_multiline_texture(
+				text, def.size.x*def.resolution.x, def.size.y*def.resolution.y, 
+				def.maxlines, def.valign, def.color)}, 
+			visual_size = def.size
+		})
+	end
+end
+
+-- Populate fonts table
+local w, filename
+for charnum=32,126 do
+	filename = string.format("font_lib_%02x.png", charnum)
+	w = get_png_width(font_lib.path.."/textures/"..filename)
+	font_lib.font[charnum] = {filename=filename, width=w}
+end
+
diff --git a/font_lib/textures/font_lib_20.png b/font_lib/textures/font_lib_20.png
new file mode 100644
index 0000000..1657997
Binary files /dev/null and b/font_lib/textures/font_lib_20.png differ
diff --git a/font_lib/textures/font_lib_21.png b/font_lib/textures/font_lib_21.png
new file mode 100644
index 0000000..d457a6c
Binary files /dev/null and b/font_lib/textures/font_lib_21.png differ
diff --git a/font_lib/textures/font_lib_22.png b/font_lib/textures/font_lib_22.png
new file mode 100644
index 0000000..7e571ea
Binary files /dev/null and b/font_lib/textures/font_lib_22.png differ
diff --git a/font_lib/textures/font_lib_23.png b/font_lib/textures/font_lib_23.png
new file mode 100644
index 0000000..ee4e70c
Binary files /dev/null and b/font_lib/textures/font_lib_23.png differ
diff --git a/font_lib/textures/font_lib_24.png b/font_lib/textures/font_lib_24.png
new file mode 100644
index 0000000..c05f037
Binary files /dev/null and b/font_lib/textures/font_lib_24.png differ
diff --git a/font_lib/textures/font_lib_25.png b/font_lib/textures/font_lib_25.png
new file mode 100644
index 0000000..671e8bd
Binary files /dev/null and b/font_lib/textures/font_lib_25.png differ
diff --git a/font_lib/textures/font_lib_26.png b/font_lib/textures/font_lib_26.png
new file mode 100644
index 0000000..93d5247
Binary files /dev/null and b/font_lib/textures/font_lib_26.png differ
diff --git a/font_lib/textures/font_lib_27.png b/font_lib/textures/font_lib_27.png
new file mode 100644
index 0000000..b645159
Binary files /dev/null and b/font_lib/textures/font_lib_27.png differ
diff --git a/font_lib/textures/font_lib_28.png b/font_lib/textures/font_lib_28.png
new file mode 100644
index 0000000..759e448
Binary files /dev/null and b/font_lib/textures/font_lib_28.png differ
diff --git a/font_lib/textures/font_lib_29.png b/font_lib/textures/font_lib_29.png
new file mode 100644
index 0000000..316234f
Binary files /dev/null and b/font_lib/textures/font_lib_29.png differ
diff --git a/font_lib/textures/font_lib_2a.png b/font_lib/textures/font_lib_2a.png
new file mode 100644
index 0000000..b32406d
Binary files /dev/null and b/font_lib/textures/font_lib_2a.png differ
diff --git a/font_lib/textures/font_lib_2b.png b/font_lib/textures/font_lib_2b.png
new file mode 100644
index 0000000..3987425
Binary files /dev/null and b/font_lib/textures/font_lib_2b.png differ
diff --git a/font_lib/textures/font_lib_2c.png b/font_lib/textures/font_lib_2c.png
new file mode 100644
index 0000000..d5e1919
Binary files /dev/null and b/font_lib/textures/font_lib_2c.png differ
diff --git a/font_lib/textures/font_lib_2d.png b/font_lib/textures/font_lib_2d.png
new file mode 100644
index 0000000..78005ed
Binary files /dev/null and b/font_lib/textures/font_lib_2d.png differ
diff --git a/font_lib/textures/font_lib_2e.png b/font_lib/textures/font_lib_2e.png
new file mode 100644
index 0000000..2180b81
Binary files /dev/null and b/font_lib/textures/font_lib_2e.png differ
diff --git a/font_lib/textures/font_lib_2f.png b/font_lib/textures/font_lib_2f.png
new file mode 100644
index 0000000..87655f0
Binary files /dev/null and b/font_lib/textures/font_lib_2f.png differ
diff --git a/font_lib/textures/font_lib_30.png b/font_lib/textures/font_lib_30.png
new file mode 100644
index 0000000..590252a
Binary files /dev/null and b/font_lib/textures/font_lib_30.png differ
diff --git a/font_lib/textures/font_lib_31.png b/font_lib/textures/font_lib_31.png
new file mode 100644
index 0000000..945e718
Binary files /dev/null and b/font_lib/textures/font_lib_31.png differ
diff --git a/font_lib/textures/font_lib_32.png b/font_lib/textures/font_lib_32.png
new file mode 100644
index 0000000..bcc2e2b
Binary files /dev/null and b/font_lib/textures/font_lib_32.png differ
diff --git a/font_lib/textures/font_lib_33.png b/font_lib/textures/font_lib_33.png
new file mode 100644
index 0000000..14b9df8
Binary files /dev/null and b/font_lib/textures/font_lib_33.png differ
diff --git a/font_lib/textures/font_lib_34.png b/font_lib/textures/font_lib_34.png
new file mode 100644
index 0000000..16056ab
Binary files /dev/null and b/font_lib/textures/font_lib_34.png differ
diff --git a/font_lib/textures/font_lib_35.png b/font_lib/textures/font_lib_35.png
new file mode 100644
index 0000000..a88c37e
Binary files /dev/null and b/font_lib/textures/font_lib_35.png differ
diff --git a/font_lib/textures/font_lib_36.png b/font_lib/textures/font_lib_36.png
new file mode 100644
index 0000000..30b07b7
Binary files /dev/null and b/font_lib/textures/font_lib_36.png differ
diff --git a/font_lib/textures/font_lib_37.png b/font_lib/textures/font_lib_37.png
new file mode 100644
index 0000000..e3a117c
Binary files /dev/null and b/font_lib/textures/font_lib_37.png differ
diff --git a/font_lib/textures/font_lib_38.png b/font_lib/textures/font_lib_38.png
new file mode 100644
index 0000000..946a7b3
Binary files /dev/null and b/font_lib/textures/font_lib_38.png differ
diff --git a/font_lib/textures/font_lib_39.png b/font_lib/textures/font_lib_39.png
new file mode 100644
index 0000000..152bf5e
Binary files /dev/null and b/font_lib/textures/font_lib_39.png differ
diff --git a/font_lib/textures/font_lib_3a.png b/font_lib/textures/font_lib_3a.png
new file mode 100644
index 0000000..05b14dc
Binary files /dev/null and b/font_lib/textures/font_lib_3a.png differ
diff --git a/font_lib/textures/font_lib_3b.png b/font_lib/textures/font_lib_3b.png
new file mode 100644
index 0000000..93615c9
Binary files /dev/null and b/font_lib/textures/font_lib_3b.png differ
diff --git a/font_lib/textures/font_lib_3c.png b/font_lib/textures/font_lib_3c.png
new file mode 100644
index 0000000..594523b
Binary files /dev/null and b/font_lib/textures/font_lib_3c.png differ
diff --git a/font_lib/textures/font_lib_3d.png b/font_lib/textures/font_lib_3d.png
new file mode 100644
index 0000000..1be8ad4
Binary files /dev/null and b/font_lib/textures/font_lib_3d.png differ
diff --git a/font_lib/textures/font_lib_3e.png b/font_lib/textures/font_lib_3e.png
new file mode 100644
index 0000000..7966531
Binary files /dev/null and b/font_lib/textures/font_lib_3e.png differ
diff --git a/font_lib/textures/font_lib_3f.png b/font_lib/textures/font_lib_3f.png
new file mode 100644
index 0000000..ff4bdd0
Binary files /dev/null and b/font_lib/textures/font_lib_3f.png differ
diff --git a/font_lib/textures/font_lib_40.png b/font_lib/textures/font_lib_40.png
new file mode 100644
index 0000000..7e31156
Binary files /dev/null and b/font_lib/textures/font_lib_40.png differ
diff --git a/font_lib/textures/font_lib_41.png b/font_lib/textures/font_lib_41.png
new file mode 100644
index 0000000..546a502
Binary files /dev/null and b/font_lib/textures/font_lib_41.png differ
diff --git a/font_lib/textures/font_lib_42.png b/font_lib/textures/font_lib_42.png
new file mode 100644
index 0000000..cf33dc7
Binary files /dev/null and b/font_lib/textures/font_lib_42.png differ
diff --git a/font_lib/textures/font_lib_43.png b/font_lib/textures/font_lib_43.png
new file mode 100644
index 0000000..bde60b0
Binary files /dev/null and b/font_lib/textures/font_lib_43.png differ
diff --git a/font_lib/textures/font_lib_44.png b/font_lib/textures/font_lib_44.png
new file mode 100644
index 0000000..025c194
Binary files /dev/null and b/font_lib/textures/font_lib_44.png differ
diff --git a/font_lib/textures/font_lib_45.png b/font_lib/textures/font_lib_45.png
new file mode 100644
index 0000000..f1261f4
Binary files /dev/null and b/font_lib/textures/font_lib_45.png differ
diff --git a/font_lib/textures/font_lib_46.png b/font_lib/textures/font_lib_46.png
new file mode 100644
index 0000000..0e22836
Binary files /dev/null and b/font_lib/textures/font_lib_46.png differ
diff --git a/font_lib/textures/font_lib_47.png b/font_lib/textures/font_lib_47.png
new file mode 100644
index 0000000..faa775b
Binary files /dev/null and b/font_lib/textures/font_lib_47.png differ
diff --git a/font_lib/textures/font_lib_48.png b/font_lib/textures/font_lib_48.png
new file mode 100644
index 0000000..d6ead06
Binary files /dev/null and b/font_lib/textures/font_lib_48.png differ
diff --git a/font_lib/textures/font_lib_49.png b/font_lib/textures/font_lib_49.png
new file mode 100644
index 0000000..1d79859
Binary files /dev/null and b/font_lib/textures/font_lib_49.png differ
diff --git a/font_lib/textures/font_lib_4a.png b/font_lib/textures/font_lib_4a.png
new file mode 100644
index 0000000..c5b447a
Binary files /dev/null and b/font_lib/textures/font_lib_4a.png differ
diff --git a/font_lib/textures/font_lib_4b.png b/font_lib/textures/font_lib_4b.png
new file mode 100644
index 0000000..3deded8
Binary files /dev/null and b/font_lib/textures/font_lib_4b.png differ
diff --git a/font_lib/textures/font_lib_4c.png b/font_lib/textures/font_lib_4c.png
new file mode 100644
index 0000000..3121f90
Binary files /dev/null and b/font_lib/textures/font_lib_4c.png differ
diff --git a/font_lib/textures/font_lib_4d.png b/font_lib/textures/font_lib_4d.png
new file mode 100644
index 0000000..361bc51
Binary files /dev/null and b/font_lib/textures/font_lib_4d.png differ
diff --git a/font_lib/textures/font_lib_4e.png b/font_lib/textures/font_lib_4e.png
new file mode 100644
index 0000000..ea95311
Binary files /dev/null and b/font_lib/textures/font_lib_4e.png differ
diff --git a/font_lib/textures/font_lib_4f.png b/font_lib/textures/font_lib_4f.png
new file mode 100644
index 0000000..9e2629e
Binary files /dev/null and b/font_lib/textures/font_lib_4f.png differ
diff --git a/font_lib/textures/font_lib_50.png b/font_lib/textures/font_lib_50.png
new file mode 100644
index 0000000..53c4a4a
Binary files /dev/null and b/font_lib/textures/font_lib_50.png differ
diff --git a/font_lib/textures/font_lib_51.png b/font_lib/textures/font_lib_51.png
new file mode 100644
index 0000000..c0f013f
Binary files /dev/null and b/font_lib/textures/font_lib_51.png differ
diff --git a/font_lib/textures/font_lib_52.png b/font_lib/textures/font_lib_52.png
new file mode 100644
index 0000000..e95599f
Binary files /dev/null and b/font_lib/textures/font_lib_52.png differ
diff --git a/font_lib/textures/font_lib_53.png b/font_lib/textures/font_lib_53.png
new file mode 100644
index 0000000..aa308d2
Binary files /dev/null and b/font_lib/textures/font_lib_53.png differ
diff --git a/font_lib/textures/font_lib_54.png b/font_lib/textures/font_lib_54.png
new file mode 100644
index 0000000..7e7b90d
Binary files /dev/null and b/font_lib/textures/font_lib_54.png differ
diff --git a/font_lib/textures/font_lib_55.png b/font_lib/textures/font_lib_55.png
new file mode 100644
index 0000000..90d5beb
Binary files /dev/null and b/font_lib/textures/font_lib_55.png differ
diff --git a/font_lib/textures/font_lib_56.png b/font_lib/textures/font_lib_56.png
new file mode 100644
index 0000000..a676acf
Binary files /dev/null and b/font_lib/textures/font_lib_56.png differ
diff --git a/font_lib/textures/font_lib_57.png b/font_lib/textures/font_lib_57.png
new file mode 100644
index 0000000..f4c5189
Binary files /dev/null and b/font_lib/textures/font_lib_57.png differ
diff --git a/font_lib/textures/font_lib_58.png b/font_lib/textures/font_lib_58.png
new file mode 100644
index 0000000..6ac7449
Binary files /dev/null and b/font_lib/textures/font_lib_58.png differ
diff --git a/font_lib/textures/font_lib_59.png b/font_lib/textures/font_lib_59.png
new file mode 100644
index 0000000..b1c48b0
Binary files /dev/null and b/font_lib/textures/font_lib_59.png differ
diff --git a/font_lib/textures/font_lib_5a.png b/font_lib/textures/font_lib_5a.png
new file mode 100644
index 0000000..ae0cc83
Binary files /dev/null and b/font_lib/textures/font_lib_5a.png differ
diff --git a/font_lib/textures/font_lib_5b.png b/font_lib/textures/font_lib_5b.png
new file mode 100644
index 0000000..a78d69a
Binary files /dev/null and b/font_lib/textures/font_lib_5b.png differ
diff --git a/font_lib/textures/font_lib_5c.png b/font_lib/textures/font_lib_5c.png
new file mode 100644
index 0000000..bbeb143
Binary files /dev/null and b/font_lib/textures/font_lib_5c.png differ
diff --git a/font_lib/textures/font_lib_5d.png b/font_lib/textures/font_lib_5d.png
new file mode 100644
index 0000000..6259744
Binary files /dev/null and b/font_lib/textures/font_lib_5d.png differ
diff --git a/font_lib/textures/font_lib_5e.png b/font_lib/textures/font_lib_5e.png
new file mode 100644
index 0000000..6bb6f1d
Binary files /dev/null and b/font_lib/textures/font_lib_5e.png differ
diff --git a/font_lib/textures/font_lib_5f.png b/font_lib/textures/font_lib_5f.png
new file mode 100644
index 0000000..74e8ea9
Binary files /dev/null and b/font_lib/textures/font_lib_5f.png differ
diff --git a/font_lib/textures/font_lib_60.png b/font_lib/textures/font_lib_60.png
new file mode 100644
index 0000000..1985973
Binary files /dev/null and b/font_lib/textures/font_lib_60.png differ
diff --git a/font_lib/textures/font_lib_61.png b/font_lib/textures/font_lib_61.png
new file mode 100644
index 0000000..91c0940
Binary files /dev/null and b/font_lib/textures/font_lib_61.png differ
diff --git a/font_lib/textures/font_lib_62.png b/font_lib/textures/font_lib_62.png
new file mode 100644
index 0000000..684a36a
Binary files /dev/null and b/font_lib/textures/font_lib_62.png differ
diff --git a/font_lib/textures/font_lib_63.png b/font_lib/textures/font_lib_63.png
new file mode 100644
index 0000000..ab5afa5
Binary files /dev/null and b/font_lib/textures/font_lib_63.png differ
diff --git a/font_lib/textures/font_lib_64.png b/font_lib/textures/font_lib_64.png
new file mode 100644
index 0000000..a59dee2
Binary files /dev/null and b/font_lib/textures/font_lib_64.png differ
diff --git a/font_lib/textures/font_lib_65.png b/font_lib/textures/font_lib_65.png
new file mode 100644
index 0000000..b9ed9a2
Binary files /dev/null and b/font_lib/textures/font_lib_65.png differ
diff --git a/font_lib/textures/font_lib_66.png b/font_lib/textures/font_lib_66.png
new file mode 100644
index 0000000..f927609
Binary files /dev/null and b/font_lib/textures/font_lib_66.png differ
diff --git a/font_lib/textures/font_lib_67.png b/font_lib/textures/font_lib_67.png
new file mode 100644
index 0000000..3efba47
Binary files /dev/null and b/font_lib/textures/font_lib_67.png differ
diff --git a/font_lib/textures/font_lib_68.png b/font_lib/textures/font_lib_68.png
new file mode 100644
index 0000000..a3fff55
Binary files /dev/null and b/font_lib/textures/font_lib_68.png differ
diff --git a/font_lib/textures/font_lib_69.png b/font_lib/textures/font_lib_69.png
new file mode 100644
index 0000000..468335f
Binary files /dev/null and b/font_lib/textures/font_lib_69.png differ
diff --git a/font_lib/textures/font_lib_6a.png b/font_lib/textures/font_lib_6a.png
new file mode 100644
index 0000000..275b82f
Binary files /dev/null and b/font_lib/textures/font_lib_6a.png differ
diff --git a/font_lib/textures/font_lib_6b.png b/font_lib/textures/font_lib_6b.png
new file mode 100644
index 0000000..4a83c0a
Binary files /dev/null and b/font_lib/textures/font_lib_6b.png differ
diff --git a/font_lib/textures/font_lib_6c.png b/font_lib/textures/font_lib_6c.png
new file mode 100644
index 0000000..1d79859
Binary files /dev/null and b/font_lib/textures/font_lib_6c.png differ
diff --git a/font_lib/textures/font_lib_6d.png b/font_lib/textures/font_lib_6d.png
new file mode 100644
index 0000000..63a79f2
Binary files /dev/null and b/font_lib/textures/font_lib_6d.png differ
diff --git a/font_lib/textures/font_lib_6e.png b/font_lib/textures/font_lib_6e.png
new file mode 100644
index 0000000..48262ba
Binary files /dev/null and b/font_lib/textures/font_lib_6e.png differ
diff --git a/font_lib/textures/font_lib_6f.png b/font_lib/textures/font_lib_6f.png
new file mode 100644
index 0000000..5dfb0f3
Binary files /dev/null and b/font_lib/textures/font_lib_6f.png differ
diff --git a/font_lib/textures/font_lib_70.png b/font_lib/textures/font_lib_70.png
new file mode 100644
index 0000000..b95cc71
Binary files /dev/null and b/font_lib/textures/font_lib_70.png differ
diff --git a/font_lib/textures/font_lib_71.png b/font_lib/textures/font_lib_71.png
new file mode 100644
index 0000000..6398974
Binary files /dev/null and b/font_lib/textures/font_lib_71.png differ
diff --git a/font_lib/textures/font_lib_72.png b/font_lib/textures/font_lib_72.png
new file mode 100644
index 0000000..f72b1bb
Binary files /dev/null and b/font_lib/textures/font_lib_72.png differ
diff --git a/font_lib/textures/font_lib_73.png b/font_lib/textures/font_lib_73.png
new file mode 100644
index 0000000..f3f296d
Binary files /dev/null and b/font_lib/textures/font_lib_73.png differ
diff --git a/font_lib/textures/font_lib_74.png b/font_lib/textures/font_lib_74.png
new file mode 100644
index 0000000..7e6c1e7
Binary files /dev/null and b/font_lib/textures/font_lib_74.png differ
diff --git a/font_lib/textures/font_lib_75.png b/font_lib/textures/font_lib_75.png
new file mode 100644
index 0000000..c0b16cd
Binary files /dev/null and b/font_lib/textures/font_lib_75.png differ
diff --git a/font_lib/textures/font_lib_76.png b/font_lib/textures/font_lib_76.png
new file mode 100644
index 0000000..145bd97
Binary files /dev/null and b/font_lib/textures/font_lib_76.png differ
diff --git a/font_lib/textures/font_lib_77.png b/font_lib/textures/font_lib_77.png
new file mode 100644
index 0000000..f3bd8a3
Binary files /dev/null and b/font_lib/textures/font_lib_77.png differ
diff --git a/font_lib/textures/font_lib_78.png b/font_lib/textures/font_lib_78.png
new file mode 100644
index 0000000..2b1d401
Binary files /dev/null and b/font_lib/textures/font_lib_78.png differ
diff --git a/font_lib/textures/font_lib_79.png b/font_lib/textures/font_lib_79.png
new file mode 100644
index 0000000..1aaa5b4
Binary files /dev/null and b/font_lib/textures/font_lib_79.png differ
diff --git a/font_lib/textures/font_lib_7a.png b/font_lib/textures/font_lib_7a.png
new file mode 100644
index 0000000..828e070
Binary files /dev/null and b/font_lib/textures/font_lib_7a.png differ
diff --git a/font_lib/textures/font_lib_7b.png b/font_lib/textures/font_lib_7b.png
new file mode 100644
index 0000000..9dd9dc8
Binary files /dev/null and b/font_lib/textures/font_lib_7b.png differ
diff --git a/font_lib/textures/font_lib_7c.png b/font_lib/textures/font_lib_7c.png
new file mode 100644
index 0000000..013c6db
Binary files /dev/null and b/font_lib/textures/font_lib_7c.png differ
diff --git a/font_lib/textures/font_lib_7d.png b/font_lib/textures/font_lib_7d.png
new file mode 100644
index 0000000..d206d74
Binary files /dev/null and b/font_lib/textures/font_lib_7d.png differ
diff --git a/font_lib/textures/font_lib_7e.png b/font_lib/textures/font_lib_7e.png
new file mode 100644
index 0000000..cb79225
Binary files /dev/null and b/font_lib/textures/font_lib_7e.png differ
diff --git a/ontime_clocks/nodes.lua b/ontime_clocks/nodes.lua
index 4a184e8..e12ab7e 100644
--- a/ontime_clocks/nodes.lua
+++ b/ontime_clocks/nodes.lua
@@ -16,7 +16,7 @@ minetest.register_node("ontime_clocks:green_digital", {
 	groups = {oddly_breakable_by_hand=1},
 	display_entities = {
 		["ontime_clocks:display"] = {
-			depth = -13/32 + 0.01, 
+			depth = 13/32 - 0.01,
 			on_display_update = function(pos, objref)
 				objref:set_properties(
 					ontime_clocks.get_digital_properties(
@@ -54,7 +54,7 @@ minetest.register_node("ontime_clocks:red_digital", {
 	groups = {oddly_breakable_by_hand=1},
 	display_entities = {
 		["ontime_clocks:display"] = {
-			depth = -13/32 + 0.01, 
+			depth = 13/32 - 0.01,
 			on_display_update = function(pos, objref)
 				objref:set_properties(
 					ontime_clocks.get_digital_properties(
@@ -92,7 +92,7 @@ minetest.register_node("ontime_clocks:white", {
 	groups = {choppy=1,oddly_breakable_by_hand=1},
 	display_entities = { 
 		["ontime_clocks:display"] = {
-			depth = -6/16+0.01,
+			depth = 6/16 - 0.01,
 			on_display_update = function(pos, objref)
 				objref:set_properties(
 					ontime_clocks.get_needles_properties(
@@ -129,7 +129,7 @@ minetest.register_node("ontime_clocks:frameless_black", {
 	groups = {choppy=1,oddly_breakable_by_hand=1},
 	display_entities = { 
 		["ontime_clocks:display"] = {
-			depth = -7/16,
+			depth = 7/16,
 			on_display_update = function(pos, objref)
 				objref:set_properties(
 					ontime_clocks.get_needles_properties(
@@ -166,7 +166,7 @@ minetest.register_node("ontime_clocks:frameless_gold", {
 	groups = {choppy=1,oddly_breakable_by_hand=1},
 	display_entities = { 
 		["ontime_clocks:display"] = {
-			depth = -7/16,
+			depth = 7/16,
 			on_display_update = function(pos, objref)
 				objref:set_properties(
 					ontime_clocks.get_needles_properties(
@@ -203,7 +203,7 @@ minetest.register_node("ontime_clocks:frameless_white", {
 	groups = {choppy=1,oddly_breakable_by_hand=1},
 	display_entities = { 
 		["ontime_clocks:display"] = {
-			depth = -7/16,
+			depth = 7/16,
 			on_display_update = function(pos, objref)
 				objref:set_properties(
 					ontime_clocks.get_needles_properties(
diff --git a/signs/README.md b/signs/README.md
index f85018f..8e38019 100644
--- a/signs/README.md
+++ b/signs/README.md
@@ -2,29 +2,19 @@
 
 This mod provides various signs with text display. Text is locked if area is protected.
 
-**Dependancies**: display_lib, default
+**Dependancies**: default, display\_lib, font\_lib
 
 **License**: WTFPL
 
-(Font taken from VanessaE's homedecor/signs_lib)
-
 ## Recipes
 
-**Blue Street Sign**
-
-		B W S
-		S S S
-		- - -
-
-B = Blue Dye, W = White Dye, S = Steel Ingot
-
-**Green Street Sign**
+**Sign** (overrides default sign)
 
-		G W S
-		S S S 
-		- - -
+		W W W
+		W W W
+		- S -
 
-G = Green Dye, W = White Dye, S = Steel Ingot
+W = Wooden Plank, S = Stick
 
 **Poster**
 
@@ -44,11 +34,3 @@ Poster displays only title, much more text can be read by right-clicking on it.
 
 W = Wooden Plank (group)
 
-**Black direction sign**
-
-		B W S
-		S S -
-		- - -
-
-B = Black Dye, W = White Dye, S = Steel Ingot
-
diff --git a/signs/common.lua b/signs/common.lua
index 7ae420c..24286b9 100644
--- a/signs/common.lua
+++ b/signs/common.lua
@@ -1,120 +1,18 @@
-local font = {}
-signs.font_height = 10
-
--- Get png width, suposing png width is less than 256 (it is the case for all font textures)
-local function get_png_width(filename)
-	local file=assert(io.open(filename,"rb"))
-	-- All font png are smaller than 256x256 --> read only last byte
-	file:seek("set",19)
-	local w = file:read(1)
-	file:close()
-	return w:byte()
-end
-
--- Computes line width for a given font height and text
-function signs.get_line_width(text)
-	local char
-	local width = 0
-
-	for p=1,#text
-	do
-		char = text:sub(p,p):byte()
-		if font[char] then
-			width = width + font[char].width
-		end
-	end
-
-	return width
-end
-
---- Builds texture part for a text line
--- @param text Text to be rendered
--- @param x Starting x position in texture
--- @param width Width of the texture (extra text is not rendered)
--- @param y Vertical position of the line in texture
--- @return Texture string
-function signs.make_line_texture(text, x, width, y)
-	local char
-
-	local texture = ""
-
-	for p=1,#text
-	do
-		char = text:sub(p,p):byte()
-		if font[char] then
-			-- Add image only if it is visible (at least partly)
-			if x + font[char].width >= 0 and x <= width then
-				texture = texture..string.format(":%d,%d=%s", x, y, font[char].filename)
-			end
-			x = x + font[char].width
-		end
-	end
-	return texture
-end
-
-local function split_lines(text, maxlines)
-	local splits = text:split("\n")
-	if maxlines then
-		local lines = {}
-		for num = 1,maxlines do
-			lines[num] = splits[num]
-		end
-		return lines
-	else
-		return splits
-	end
-end
-
-function signs.on_display_update(pos, objref)
-	local meta = minetest.get_meta(pos)
-	local text = meta:get_string("display_text")
-
-	local ndef = minetest.registered_nodes[minetest.get_node(pos).name]
-	if ndef and ndef.sign_model then
-		local model = signs.sign_models[ndef.sign_model]
-		local lines = split_lines(text, model.maxlines)
-
-		local texturew = model.width/model.xscale
-		local textureh = model.height/model.yscale
-
-		local texture = ""
-
-		local y
-		if model.valing == "top" then
-			y = signs.font_height / 2
-		else		
-			y = (textureh - signs.font_height * #lines) / 2 + 1 
-		end
-
-		for _, line in pairs(lines) do
-			texture = texture..signs.make_line_texture(line, 
-				(texturew - signs.get_line_width(line)) / 2, 
-				texturew, y)
-			y = y + signs.font_height
-		end
-
-		local texture = string.format("[combine:%dx%d", texturew, textureh)..texture
-		if model.color then texture = texture.."^[colorize:"..model.color end
-
-		objref:set_properties({ textures={texture}, visual_size = {x=model.width, y=model.height}})
-	end
-end
-
 function signs.set_formspec(pos)
 	local meta = minetest.get_meta(pos)
 	local ndef = minetest.registered_nodes[minetest.get_node(pos).name]
-	if ndef and ndef.sign_model then
-		local model = signs.sign_models[ndef.sign_model]
+	if ndef and ndef.display_entities and ndef.display_entities["signs:text"] then
+		local maxlines = ndef.display_entities["signs:text"].maxlines
 		local formspec
 
-		if model.maxlines == 1 then
+		if maxlines == 1 then
 			formspec = "size[6,3]"..
 				"field[0.5,0.7;5.5,1;display_text;Displayed text;${display_text}]"..
 				"button_exit[2,2;2,1;ok;Write]"
 		else
 			local extralabel = ""
-			if model.maxlines then
-				extralabel = " (first "..model.maxlines.." lines only)"
+			if maxlines then
+				extralabel = " (first "..maxlines.." lines only)"
 			end
 
 			formspec = "size[6,4]"..
@@ -192,14 +90,6 @@ function signs.on_rotate_direction(pos, node, user, mode, new_param2)
 	end
 end
 
--- Populate fonts table
-local w, filename
-for charnum=32,126 do
-	filename = string.format("signs_%02x.png", charnum)
-	w = get_png_width(signs.path.."/textures/"..filename)
-	font[charnum] = {filename=filename, width=w}
-end
-
 -- Generic callback for show_formspec displayed formspecs
 minetest.register_on_player_receive_fields(function(player, formname, fields)
 	local found, _, mod, node_name, pos = formname:find("([%w_]+):([%w_]+)@(.+)")
@@ -214,3 +104,56 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
 		end
 	end
 end)
+
+function signs.register_sign(mod, name, model)
+	-- Default fields
+	local fields = {
+		sunlight_propagates = true,
+		paramtype = "light",
+		paramtype2 = "wallmounted",
+		drawtype = "nodebox",
+		node_box = {
+			type = "wallmounted",
+			wall_side = {-0.5, -model.height/2, -model.width/2,
+					     -0.5 + model.depth, model.height/2, model.width/2},
+			wall_bottom = {-model.width/2, -0.5, -model.height/2,
+						   model.width/2, -0.5 + model.depth, model.height/2},
+			wall_top = {-model.width/2, 0.5, -model.height/2,
+						   model.width/2, 0.5 - model.depth, model.height/2},
+		},
+		groups = {choppy=2,dig_immediate=2,attached_node=1},
+		sounds = default.node_sound_defaults(),
+		display_entities = {
+			["signs:text"] = {
+					on_display_update = font_lib.on_display_update,
+					depth = 0.499 - model.depth,
+					size = { x = 1, y = 1 },
+					resolution = { x = 64, y = 64 },
+					maxlines = 1,
+			},
+
+		},
+		on_place = display_lib.on_place,
+		on_construct = 	function(pos)
+							signs.set_formspec(pos)
+							display_lib.on_construct(pos)
+						end,
+		on_destruct = display_lib.on_destruct,
+		on_rotate = display_lib.on_rotate,
+		on_receive_fields = signs.on_receive_fields,
+	}
+
+	-- Node fields override
+	for key, value in pairs(model.node_fields) do
+		fields[key] = value
+	end
+
+	if not fields.wield_image then fields.wield_image = fields.inventory_image end
+
+	-- Entity fields override
+	for key, value in pairs(model.entity_fields) do
+		fields.display_entities["signs:text"][key] = value
+	end
+
+	minetest.register_node(mod..":"..name, fields)
+end
diff --git a/signs/crafts.lua b/signs/crafts.lua
index 16b873d..2d90e52 100644
--- a/signs/crafts.lua
+++ b/signs/crafts.lua
@@ -1,21 +1,3 @@
-minetest.register_craft({
-	output = 'signs:blue_street',
-	recipe = {
-		{'dye:blue', 'dye:white', 'default:steel_ingot'},
-		{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
-		{'', '', ''},
-	}
-})
-
-minetest.register_craft({
-	output = 'signs:green_street',
-	recipe = {
-		{'dye:green', 'dye:white', 'default:steel_ingot'},
-		{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
-		{'', '', ''},
-	}
-})
-
 minetest.register_craft({
 	output = 'signs:wooden_right',
 	recipe = {
@@ -25,15 +7,6 @@ minetest.register_craft({
 	}
 })
 
-minetest.register_craft({
-	output = 'signs:black_right',
-	recipe = {
-		{'dye:black', 'dye:white', 'default:steel_ingot'},
-		{'default:steel_ingot', 'default:steel_ingot', ''},
-		{'', '', ''},
-	}
-})
-
 minetest.register_craft({
 	output = 'signs:poster',
 	recipe = {
diff --git a/signs/depends.txt b/signs/depends.txt
index c1feb90..a5e20d4 100644
--- a/signs/depends.txt
+++ b/signs/depends.txt
@@ -1,3 +1,3 @@
 default
 display_lib
-
+font_lib
diff --git a/signs/font.lua b/signs/font.lua
deleted file mode 100644
index 2da6611..0000000
--- a/signs/font.lua
+++ /dev/null
@@ -1,63 +0,0 @@
-
-local font = {}
-signs.font_height = 10
-
--- Get png width, suposing png width is less than 256 (it is the case for all font textures)
-local function get_png_width(filename)
-	local file=assert(io.open(filename,"rb"))
-	-- All font png are smaller than 256x256 --> read only last byte
-	file:seek("set",19)
-	local w = file:read(1)
-	file:close()
-	return w:byte()
-end
-
--- Computes line width for a given font height and text
-function signs.get_line_width(text)
-	local char
-	local width = 0
-
-	for p=1,#text
-	do
-		char = text:sub(p,p):byte()
-		if font[char] then
-			width = width + font[char].width
-		end
-	end
-
-	return width
-end
-
---- Builds texture part for a text line
--- @param text Text to be rendered
--- @param x Starting x position in texture
--- @param width Width of the texture (extra text is not rendered)
--- @param y Vertical position of the line in texture
--- @return Texture string
-function signs.make_line_texture(text, x, width, y)
-	local char
-
-	local texture = ""
-
-	for p=1,#text
-	do
-		char = text:sub(p,p):byte()
-		if font[char] then
-			-- Add image only if it is visible (at least partly)
-			if x + font[char].width >= 0 and x <= width then
-				texture = texture..string.format(":%d,%d=%s", x, y, font[char].filename)
-			end
-			x = x + font[char].width
-		end
-	end
-	return texture
-end
-
--- Populate fonts table
-local w, filename
-for charnum=32,126 do
-	filename = string.format("signs_%02x.png", charnum)
-	w = get_png_width(signs.path.."/textures/"..filename)
-	font[charnum] = {filename=filename, width=w}
-end
-
diff --git a/signs/nodes.lua b/signs/nodes.lua
index 77d8925..0c23c5e 100644
--- a/signs/nodes.lua
+++ b/signs/nodes.lua
@@ -39,44 +39,21 @@ local function on_receive_fields_poster(pos, formname, fields, player)
 	end
 end
 
-signs.sign_models = {
-	blue_street={
-		depth=1/16,
-		width=14/16,
-		height=12/16,
-		color="#fff",
-		maxlines = 3,
-		xscale = 1/144,
-		yscale = 1/64,
-		fields = {
-			description="Blue street sign",
-			tiles={"signs_blue_street.png"},
-			inventory_image="signs_blue_street_inventory.png",
-		},
-	},
-	green_street={
-		depth=1/32,
-		width=1,
-		height=6/16,
-		color="#fff",
-		maxlines = 1,
-		xscale = 1/96,
-		yscale = 1/64,
-		fields = {
-			description="Green street sign",
-			tiles={"signs_green_street.png"},
-			inventory_image="signs_green_street_inventory.png",
-		},
-	},
+-- Text entity for all signs
+display_lib.register_display_entity("signs:text")
+
+-- Sign models and registration
+local models = {
 	wooden_right={
 		depth=1/16,
-		width=14/16,
-		height=7/16,
-		color="#000",
-		maxlines = 2,
-		xscale = 1/112,
-		yscale = 1/64,
-		fields = {
+		width = 14/16,
+		height = 7/16,
+		entity_fields = {
+			resolution = { x = 112, y = 64 },
+			maxlines = 2,
+			color="#000",
+		},
+		node_fields = {
 			description="Wooden direction sign",
 			tiles={"signs_wooden_right.png"},
 			inventory_image="signs_wooden_inventory.png",
@@ -87,13 +64,14 @@ signs.sign_models = {
 	},
 	wooden_left={
 		depth=1/16,
-		width=14/16,
-		height=7/16,
-		color="#000",
-		maxlines = 2,
-		xscale = 1/112,
-		yscale = 1/64,
-		fields = {
+		width = 14/16,
+		height = 7/16,
+		entity_fields = {
+			resolution = { x = 112, y = 64 },
+			maxlines = 2,
+			color="#000",
+		},
+		node_fields = {
 			description="Wooden direction sign",
 			tiles={"signs_wooden_left.png"},
 			inventory_image="signs_wooden_inventory.png",
@@ -103,50 +81,17 @@ signs.sign_models = {
 			on_rotate=signs.on_rotate_direction,
 		},
 	},
-	black_right={
-		depth=1/32,
-		width=1,
-		height=0.5,
-		color="#000",
-		maxlines = 1,
-		xscale = 1/96,
-		yscale = 1/64,
-		fields = {
-			description="Black direction sign",
-			tiles={"signs_black_right.png"},
-			inventory_image="signs_black_inventory.png",
-			on_place=signs.on_place_direction,
-			on_rotate=signs.on_rotate_direction,
-		},
-	},
-	black_left={
-		depth=1/32,
-		width=1,
-		height=0.5,
-		color="#000",
-		maxlines = 1,
-		xscale = 1/96,
-		yscale = 1/64,
-		fields = {
-			description="Black direction sign",
-			tiles={"signs_black_left.png"},
-			inventory_image="signs_black_inventory.png",
-			groups={choppy=1,oddly_breakable_by_hand=1,not_in_creative_inventory=1},
-			drop="signs:black_right",
-			on_place=signs.on_place_direction,
-			on_rotate=signs.on_rotate_direction,
-		},
-	},
 	poster={
 		depth=1/32,
-		width=26/32,
-		height=30/32,
-		color="#000",
-		valing="top",
-		maxlines = 1,
-		xscale = 1/144,
-		yscale = 1/64,
-		fields = {
+		width = 26/32,
+		height = 30/32,
+		entity_fields = {
+			resolution = { x = 144, y = 64 },
+			maxlines = 1,
+			color="#000",
+			valign="top",
+		},
+		node_fields = {
 			description="Poster",
 			tiles={"signs_poster.png"},
 			inventory_image="signs_poster_inventory.png",
@@ -157,47 +102,27 @@ signs.sign_models = {
 	},
 }
 
-display_lib.register_display_entity("signs:text")
 
-for model_name, model in pairs(signs.sign_models)
+for name, model in pairs(models)
 do
-	local fields = {
-		sunlight_propagates = true,
-		paramtype = "light",
-		paramtype2 = "wallmounted",
-		drawtype = "nodebox",
-		node_box = {
-			type = "wallmounted",
-			wall_side = {-0.5, -model.height/2, -model.width/2, 
-					     -0.5 + model.depth, model.height/2, model.width/2},
-			wall_bottom = {-model.width/2, -0.5, -model.height/2,
-						   model.width/2, -0.5 + model.depth, model.height/2},
-			wall_top = {-model.width/2, 0.5, -model.height/2,
-						   model.width/2, 0.5 - model.depth, model.height/2}, 
+	signs.register_sign("signs", name, model)
+end
+
+-- Override default sign
+signs.register_sign(":default", "sign_wall", {
+		depth = 1/16,
+		width = 14/16,
+		height = 10/16,
+		entity_fields = {
+			size = { x = 12/16, y = 8/16 },
+			resolution = { x = 144, y = 64 },
+			maxlines = 3,
+			color="#000",
 		},
-		groups = {choppy=1,oddly_breakable_by_hand=1},
-		sign_model = model_name,
-		display_entities = { 
-			["signs:text"] = {
-					depth = model.depth-0.499,
-					on_display_update = signs.on_display_update },
+		node_fields = {
+			description="Sign",
+			tiles={"signs_default.png"},
+			inventory_image="signs_default_inventory.png",
 		},
-		on_place = display_lib.on_place,
-		on_construct = 	function(pos)
-							signs.set_formspec(pos)
-							display_lib.on_construct(pos)
-						end,
-		on_destruct = display_lib.on_destruct,
-		on_rotate = display_lib.on_rotate,
-		on_receive_fields = signs.on_receive_fields,
-	}
-
-	for key, value in pairs(model.fields) do
-		fields[key] = value
-	end
-
-	if not fields.wield_image then fields.wield_image = fields.inventory_image end
-
-	minetest.register_node("signs:"..model_name, fields)
-end
+	})
 
diff --git a/signs/textures/signs_20.png b/signs/textures/signs_20.png
deleted file mode 100644
index 43df9d1..0000000
Binary files a/signs/textures/signs_20.png and /dev/null differ
diff --git a/signs/textures/signs_21.png b/signs/textures/signs_21.png
deleted file mode 100644
index b927105..0000000
Binary files a/signs/textures/signs_21.png and /dev/null differ
diff --git a/signs/textures/signs_22.png b/signs/textures/signs_22.png
deleted file mode 100644
index fae7109..0000000
Binary files a/signs/textures/signs_22.png and /dev/null differ
diff --git a/signs/textures/signs_23.png b/signs/textures/signs_23.png
deleted file mode 100644
index 0995756..0000000
Binary files a/signs/textures/signs_23.png and /dev/null differ
diff --git a/signs/textures/signs_24.png b/signs/textures/signs_24.png
deleted file mode 100644
index 18b37d9..0000000
Binary files a/signs/textures/signs_24.png and /dev/null differ
diff --git a/signs/textures/signs_25.png b/signs/textures/signs_25.png
deleted file mode 100644
index 83737d3..0000000
Binary files a/signs/textures/signs_25.png and /dev/null differ
diff --git a/signs/textures/signs_26.png b/signs/textures/signs_26.png
deleted file mode 100644
index 94357c4..0000000
Binary files a/signs/textures/signs_26.png and /dev/null differ
diff --git a/signs/textures/signs_27.png b/signs/textures/signs_27.png
deleted file mode 100644
index cd4426c..0000000
Binary files a/signs/textures/signs_27.png and /dev/null differ
diff --git a/signs/textures/signs_28.png b/signs/textures/signs_28.png
deleted file mode 100644
index 66fd16e..0000000
Binary files a/signs/textures/signs_28.png and /dev/null differ
diff --git a/signs/textures/signs_29.png b/signs/textures/signs_29.png
deleted file mode 100644
index 324d1d2..0000000
Binary files a/signs/textures/signs_29.png and /dev/null differ
diff --git a/signs/textures/signs_2a.png b/signs/textures/signs_2a.png
deleted file mode 100644
index 27bafea..0000000
Binary files a/signs/textures/signs_2a.png and /dev/null differ
diff --git a/signs/textures/signs_2b.png b/signs/textures/signs_2b.png
deleted file mode 100644
index 28a8c7f..0000000
Binary files a/signs/textures/signs_2b.png and /dev/null differ
diff --git a/signs/textures/signs_2c.png b/signs/textures/signs_2c.png
deleted file mode 100644
index 16bf1e4..0000000
Binary files a/signs/textures/signs_2c.png and /dev/null differ
diff --git a/signs/textures/signs_2d.png b/signs/textures/signs_2d.png
deleted file mode 100644
index b555ad6..0000000
Binary files a/signs/textures/signs_2d.png and /dev/null differ
diff --git a/signs/textures/signs_2e.png b/signs/textures/signs_2e.png
deleted file mode 100644
index cdfa677..0000000
Binary files a/signs/textures/signs_2e.png and /dev/null differ
diff --git a/signs/textures/signs_2f.png b/signs/textures/signs_2f.png
deleted file mode 100644
index e76fdf4..0000000
Binary files a/signs/textures/signs_2f.png and /dev/null differ
diff --git a/signs/textures/signs_30.png b/signs/textures/signs_30.png
deleted file mode 100644
index 5a57af3..0000000
Binary files a/signs/textures/signs_30.png and /dev/null differ
diff --git a/signs/textures/signs_31.png b/signs/textures/signs_31.png
deleted file mode 100644
index 3b8ebf0..0000000
Binary files a/signs/textures/signs_31.png and /dev/null differ
diff --git a/signs/textures/signs_32.png b/signs/textures/signs_32.png
deleted file mode 100644
index 9a869a8..0000000
Binary files a/signs/textures/signs_32.png and /dev/null differ
diff --git a/signs/textures/signs_33.png b/signs/textures/signs_33.png
deleted file mode 100644
index 0bbaf59..0000000
Binary files a/signs/textures/signs_33.png and /dev/null differ
diff --git a/signs/textures/signs_34.png b/signs/textures/signs_34.png
deleted file mode 100644
index f6dfe63..0000000
Binary files a/signs/textures/signs_34.png and /dev/null differ
diff --git a/signs/textures/signs_35.png b/signs/textures/signs_35.png
deleted file mode 100644
index 71a9883..0000000
Binary files a/signs/textures/signs_35.png and /dev/null differ
diff --git a/signs/textures/signs_36.png b/signs/textures/signs_36.png
deleted file mode 100644
index 6553bed..0000000
Binary files a/signs/textures/signs_36.png and /dev/null differ
diff --git a/signs/textures/signs_37.png b/signs/textures/signs_37.png
deleted file mode 100644
index 53b9541..0000000
Binary files a/signs/textures/signs_37.png and /dev/null differ
diff --git a/signs/textures/signs_38.png b/signs/textures/signs_38.png
deleted file mode 100644
index 0933814..0000000
Binary files a/signs/textures/signs_38.png and /dev/null differ
diff --git a/signs/textures/signs_39.png b/signs/textures/signs_39.png
deleted file mode 100644
index 94dae88..0000000
Binary files a/signs/textures/signs_39.png and /dev/null differ
diff --git a/signs/textures/signs_3a.png b/signs/textures/signs_3a.png
deleted file mode 100644
index 09b4793..0000000
Binary files a/signs/textures/signs_3a.png and /dev/null differ
diff --git a/signs/textures/signs_3b.png b/signs/textures/signs_3b.png
deleted file mode 100644
index 8f9076b..0000000
Binary files a/signs/textures/signs_3b.png and /dev/null differ
diff --git a/signs/textures/signs_3c.png b/signs/textures/signs_3c.png
deleted file mode 100644
index a5313c9..0000000
Binary files a/signs/textures/signs_3c.png and /dev/null differ
diff --git a/signs/textures/signs_3d.png b/signs/textures/signs_3d.png
deleted file mode 100644
index 153c272..0000000
Binary files a/signs/textures/signs_3d.png and /dev/null differ
diff --git a/signs/textures/signs_3e.png b/signs/textures/signs_3e.png
deleted file mode 100644
index ced7868..0000000
Binary files a/signs/textures/signs_3e.png and /dev/null differ
diff --git a/signs/textures/signs_3f.png b/signs/textures/signs_3f.png
deleted file mode 100644
index 3dfc73b..0000000
Binary files a/signs/textures/signs_3f.png and /dev/null differ
diff --git a/signs/textures/signs_40.png b/signs/textures/signs_40.png
deleted file mode 100644
index 65dc19f..0000000
Binary files a/signs/textures/signs_40.png and /dev/null differ
diff --git a/signs/textures/signs_41.png b/signs/textures/signs_41.png
deleted file mode 100644
index 0d74cdb..0000000
Binary files a/signs/textures/signs_41.png and /dev/null differ
diff --git a/signs/textures/signs_42.png b/signs/textures/signs_42.png
deleted file mode 100644
index 7432e5f..0000000
Binary files a/signs/textures/signs_42.png and /dev/null differ
diff --git a/signs/textures/signs_43.png b/signs/textures/signs_43.png
deleted file mode 100644
index 5a2e165..0000000
Binary files a/signs/textures/signs_43.png and /dev/null differ
diff --git a/signs/textures/signs_44.png b/signs/textures/signs_44.png
deleted file mode 100644
index f2c4d07..0000000
Binary files a/signs/textures/signs_44.png and /dev/null differ
diff --git a/signs/textures/signs_45.png b/signs/textures/signs_45.png
deleted file mode 100644
index de77e41..0000000
Binary files a/signs/textures/signs_45.png and /dev/null differ
diff --git a/signs/textures/signs_46.png b/signs/textures/signs_46.png
deleted file mode 100644
index a19af77..0000000
Binary files a/signs/textures/signs_46.png and /dev/null differ
diff --git a/signs/textures/signs_47.png b/signs/textures/signs_47.png
deleted file mode 100644
index 30c6818..0000000
Binary files a/signs/textures/signs_47.png and /dev/null differ
diff --git a/signs/textures/signs_48.png b/signs/textures/signs_48.png
deleted file mode 100644
index e49cee4..0000000
Binary files a/signs/textures/signs_48.png and /dev/null differ
diff --git a/signs/textures/signs_49.png b/signs/textures/signs_49.png
deleted file mode 100644
index 534500b..0000000
Binary files a/signs/textures/signs_49.png and /dev/null differ
diff --git a/signs/textures/signs_4a.png b/signs/textures/signs_4a.png
deleted file mode 100644
index 5575e6d..0000000
Binary files a/signs/textures/signs_4a.png and /dev/null differ
diff --git a/signs/textures/signs_4b.png b/signs/textures/signs_4b.png
deleted file mode 100644
index 0afb35d..0000000
Binary files a/signs/textures/signs_4b.png and /dev/null differ
diff --git a/signs/textures/signs_4c.png b/signs/textures/signs_4c.png
deleted file mode 100644
index 99af40d..0000000
Binary files a/signs/textures/signs_4c.png and /dev/null differ
diff --git a/signs/textures/signs_4d.png b/signs/textures/signs_4d.png
deleted file mode 100644
index 14648ed..0000000
Binary files a/signs/textures/signs_4d.png and /dev/null differ
diff --git a/signs/textures/signs_4e.png b/signs/textures/signs_4e.png
deleted file mode 100644
index 57abfbb..0000000
Binary files a/signs/textures/signs_4e.png and /dev/null differ
diff --git a/signs/textures/signs_4f.png b/signs/textures/signs_4f.png
deleted file mode 100644
index 06e0c8d..0000000
Binary files a/signs/textures/signs_4f.png and /dev/null differ
diff --git a/signs/textures/signs_50.png b/signs/textures/signs_50.png
deleted file mode 100644
index fba27a0..0000000
Binary files a/signs/textures/signs_50.png and /dev/null differ
diff --git a/signs/textures/signs_51.png b/signs/textures/signs_51.png
deleted file mode 100644
index 081e272..0000000
Binary files a/signs/textures/signs_51.png and /dev/null differ
diff --git a/signs/textures/signs_52.png b/signs/textures/signs_52.png
deleted file mode 100644
index 12fe421..0000000
Binary files a/signs/textures/signs_52.png and /dev/null differ
diff --git a/signs/textures/signs_53.png b/signs/textures/signs_53.png
deleted file mode 100644
index 7e1bbe0..0000000
Binary files a/signs/textures/signs_53.png and /dev/null differ
diff --git a/signs/textures/signs_54.png b/signs/textures/signs_54.png
deleted file mode 100644
index f50a8b8..0000000
Binary files a/signs/textures/signs_54.png and /dev/null differ
diff --git a/signs/textures/signs_55.png b/signs/textures/signs_55.png
deleted file mode 100644
index 4682223..0000000
Binary files a/signs/textures/signs_55.png and /dev/null differ
diff --git a/signs/textures/signs_56.png b/signs/textures/signs_56.png
deleted file mode 100644
index c8a55c4..0000000
Binary files a/signs/textures/signs_56.png and /dev/null differ
diff --git a/signs/textures/signs_57.png b/signs/textures/signs_57.png
deleted file mode 100644
index 419191c..0000000
Binary files a/signs/textures/signs_57.png and /dev/null differ
diff --git a/signs/textures/signs_58.png b/signs/textures/signs_58.png
deleted file mode 100644
index 1175a0e..0000000
Binary files a/signs/textures/signs_58.png and /dev/null differ
diff --git a/signs/textures/signs_59.png b/signs/textures/signs_59.png
deleted file mode 100644
index 9a52397..0000000
Binary files a/signs/textures/signs_59.png and /dev/null differ
diff --git a/signs/textures/signs_5a.png b/signs/textures/signs_5a.png
deleted file mode 100644
index 64c1c4f..0000000
Binary files a/signs/textures/signs_5a.png and /dev/null differ
diff --git a/signs/textures/signs_5b.png b/signs/textures/signs_5b.png
deleted file mode 100644
index c360403..0000000
Binary files a/signs/textures/signs_5b.png and /dev/null differ
diff --git a/signs/textures/signs_5c.png b/signs/textures/signs_5c.png
deleted file mode 100644
index 08cf8b6..0000000
Binary files a/signs/textures/signs_5c.png and /dev/null differ
diff --git a/signs/textures/signs_5d.png b/signs/textures/signs_5d.png
deleted file mode 100644
index 2309ee8..0000000
Binary files a/signs/textures/signs_5d.png and /dev/null differ
diff --git a/signs/textures/signs_5e.png b/signs/textures/signs_5e.png
deleted file mode 100644
index 60a1dbd..0000000
Binary files a/signs/textures/signs_5e.png and /dev/null differ
diff --git a/signs/textures/signs_5f.png b/signs/textures/signs_5f.png
deleted file mode 100644
index e7a4d90..0000000
Binary files a/signs/textures/signs_5f.png and /dev/null differ
diff --git a/signs/textures/signs_60.png b/signs/textures/signs_60.png
deleted file mode 100644
index cd2b1ef..0000000
Binary files a/signs/textures/signs_60.png and /dev/null differ
diff --git a/signs/textures/signs_61.png b/signs/textures/signs_61.png
deleted file mode 100644
index 874433d..0000000
Binary files a/signs/textures/signs_61.png and /dev/null differ
diff --git a/signs/textures/signs_62.png b/signs/textures/signs_62.png
deleted file mode 100644
index f29b709..0000000
Binary files a/signs/textures/signs_62.png and /dev/null differ
diff --git a/signs/textures/signs_63.png b/signs/textures/signs_63.png
deleted file mode 100644
index 6d46292..0000000
Binary files a/signs/textures/signs_63.png and /dev/null differ
diff --git a/signs/textures/signs_64.png b/signs/textures/signs_64.png
deleted file mode 100644
index 30e4497..0000000
Binary files a/signs/textures/signs_64.png and /dev/null differ
diff --git a/signs/textures/signs_65.png b/signs/textures/signs_65.png
deleted file mode 100644
index 8644032..0000000
Binary files a/signs/textures/signs_65.png and /dev/null differ
diff --git a/signs/textures/signs_66.png b/signs/textures/signs_66.png
deleted file mode 100644
index 5d4f4b9..0000000
Binary files a/signs/textures/signs_66.png and /dev/null differ
diff --git a/signs/textures/signs_67.png b/signs/textures/signs_67.png
deleted file mode 100644
index 990e8e3..0000000
Binary files a/signs/textures/signs_67.png and /dev/null differ
diff --git a/signs/textures/signs_68.png b/signs/textures/signs_68.png
deleted file mode 100644
index 6b936aa..0000000
Binary files a/signs/textures/signs_68.png and /dev/null differ
diff --git a/signs/textures/signs_69.png b/signs/textures/signs_69.png
deleted file mode 100644
index 3251e2e..0000000
Binary files a/signs/textures/signs_69.png and /dev/null differ
diff --git a/signs/textures/signs_6a.png b/signs/textures/signs_6a.png
deleted file mode 100644
index 1e0082c..0000000
Binary files a/signs/textures/signs_6a.png and /dev/null differ
diff --git a/signs/textures/signs_6b.png b/signs/textures/signs_6b.png
deleted file mode 100644
index 788c3df..0000000
Binary files a/signs/textures/signs_6b.png and /dev/null differ
diff --git a/signs/textures/signs_6c.png b/signs/textures/signs_6c.png
deleted file mode 100644
index 534500b..0000000
Binary files a/signs/textures/signs_6c.png and /dev/null differ
diff --git a/signs/textures/signs_6d.png b/signs/textures/signs_6d.png
deleted file mode 100644
index fca6d31..0000000
Binary files a/signs/textures/signs_6d.png and /dev/null differ
diff --git a/signs/textures/signs_6e.png b/signs/textures/signs_6e.png
deleted file mode 100644
index 10930a1..0000000
Binary files a/signs/textures/signs_6e.png and /dev/null differ
diff --git a/signs/textures/signs_6f.png b/signs/textures/signs_6f.png
deleted file mode 100644
index f4aef64..0000000
Binary files a/signs/textures/signs_6f.png and /dev/null differ
diff --git a/signs/textures/signs_70.png b/signs/textures/signs_70.png
deleted file mode 100644
index dac5f79..0000000
Binary files a/signs/textures/signs_70.png and /dev/null differ
diff --git a/signs/textures/signs_71.png b/signs/textures/signs_71.png
deleted file mode 100644
index cc31972..0000000
Binary files a/signs/textures/signs_71.png and /dev/null differ
diff --git a/signs/textures/signs_72.png b/signs/textures/signs_72.png
deleted file mode 100644
index d8dbcee..0000000
Binary files a/signs/textures/signs_72.png and /dev/null differ
diff --git a/signs/textures/signs_73.png b/signs/textures/signs_73.png
deleted file mode 100644
index 60911df..0000000
Binary files a/signs/textures/signs_73.png and /dev/null differ
diff --git a/signs/textures/signs_74.png b/signs/textures/signs_74.png
deleted file mode 100644
index 079e2f1..0000000
Binary files a/signs/textures/signs_74.png and /dev/null differ
diff --git a/signs/textures/signs_75.png b/signs/textures/signs_75.png
deleted file mode 100644
index c86aaad..0000000
Binary files a/signs/textures/signs_75.png and /dev/null differ
diff --git a/signs/textures/signs_76.png b/signs/textures/signs_76.png
deleted file mode 100644
index 5101584..0000000
Binary files a/signs/textures/signs_76.png and /dev/null differ
diff --git a/signs/textures/signs_77.png b/signs/textures/signs_77.png
deleted file mode 100644
index d2bdb98..0000000
Binary files a/signs/textures/signs_77.png and /dev/null differ
diff --git a/signs/textures/signs_78.png b/signs/textures/signs_78.png
deleted file mode 100644
index 20927d9..0000000
Binary files a/signs/textures/signs_78.png and /dev/null differ
diff --git a/signs/textures/signs_79.png b/signs/textures/signs_79.png
deleted file mode 100644
index 15a76a7..0000000
Binary files a/signs/textures/signs_79.png and /dev/null differ
diff --git a/signs/textures/signs_7a.png b/signs/textures/signs_7a.png
deleted file mode 100644
index 43a1f05..0000000
Binary files a/signs/textures/signs_7a.png and /dev/null differ
diff --git a/signs/textures/signs_7b.png b/signs/textures/signs_7b.png
deleted file mode 100644
index 08c27a1..0000000
Binary files a/signs/textures/signs_7b.png and /dev/null differ
diff --git a/signs/textures/signs_7c.png b/signs/textures/signs_7c.png
deleted file mode 100644
index db5bdb3..0000000
Binary files a/signs/textures/signs_7c.png and /dev/null differ
diff --git a/signs/textures/signs_7d.png b/signs/textures/signs_7d.png
deleted file mode 100644
index 52a64af..0000000
Binary files a/signs/textures/signs_7d.png and /dev/null differ
diff --git a/signs/textures/signs_7e.png b/signs/textures/signs_7e.png
deleted file mode 100644
index 8a9a865..0000000
Binary files a/signs/textures/signs_7e.png and /dev/null differ
diff --git a/signs/textures/signs_black_inventory.png b/signs/textures/signs_black_inventory.png
deleted file mode 100644
index 4b10ee3..0000000
Binary files a/signs/textures/signs_black_inventory.png and /dev/null differ
diff --git a/signs/textures/signs_black_left.png b/signs/textures/signs_black_left.png
deleted file mode 100644
index 8837dcb..0000000
Binary files a/signs/textures/signs_black_left.png and /dev/null differ
diff --git a/signs/textures/signs_black_right.png b/signs/textures/signs_black_right.png
deleted file mode 100644
index 0951da0..0000000
Binary files a/signs/textures/signs_black_right.png and /dev/null differ
diff --git a/signs/textures/signs_blue_street.png b/signs/textures/signs_blue_street.png
deleted file mode 100644
index 540a390..0000000
Binary files a/signs/textures/signs_blue_street.png and /dev/null differ
diff --git a/signs/textures/signs_blue_street_inventory.png b/signs/textures/signs_blue_street_inventory.png
deleted file mode 100644
index a702669..0000000
Binary files a/signs/textures/signs_blue_street_inventory.png and /dev/null differ
diff --git a/signs/textures/signs_default.png b/signs/textures/signs_default.png
new file mode 100644
index 0000000..0db6bfd
Binary files /dev/null and b/signs/textures/signs_default.png differ
diff --git a/signs/textures/signs_default_inventory.png b/signs/textures/signs_default_inventory.png
new file mode 100644
index 0000000..55a5120
Binary files /dev/null and b/signs/textures/signs_default_inventory.png differ
diff --git a/signs/textures/signs_green_street.png b/signs/textures/signs_green_street.png
deleted file mode 100644
index b5c653d..0000000
Binary files a/signs/textures/signs_green_street.png and /dev/null differ
diff --git a/signs/textures/signs_green_street_inventory.png b/signs/textures/signs_green_street_inventory.png
deleted file mode 100644
index 6c2a52c..0000000
Binary files a/signs/textures/signs_green_street_inventory.png and /dev/null differ
-- 
cgit v1.2.3