Page MenuHomeFreeBSD

D47403.id145908.diff
No OneTemporary

D47403.id145908.diff

diff --git a/stand/lua/core.lua b/stand/lua/core.lua
--- a/stand/lua/core.lua
+++ b/stand/lua/core.lua
@@ -543,6 +543,15 @@
end
end
+-- The graphical-enabled loaders have unicode drawing character support. The
+-- text-only ones do not. We check the old and new bindings for term_drawrect as
+-- a proxy for unicode support, which will work on older boot loaders as well
+-- as be future proof for when we remove the old binding. This also abstracts
+-- out the test to one spot in case we start to export this notion more directly.
+function core.hasUnicode()
+ return gfx.term_drawrect ~= nil or loader.term_drawrect ~= nil
+end
+
-- Sanity check the boot loader revision
-- Loaders with version 3.0 have everything that we need without backwards
-- compatible hacks. Warn users that still have old versions to upgrade so
diff --git a/stand/lua/drawer.lua b/stand/lua/drawer.lua
--- a/stand/lua/drawer.lua
+++ b/stand/lua/drawer.lua
@@ -506,23 +506,45 @@
top_right = "+",
bottom_right = "+",
},
- ["single"] = {
+}
+
+if core.hasUnicode() then
+ -- unicode based framing characters
+ drawer.frame_styles["single"] = {
horizontal = "\xE2\x94\x80",
vertical = "\xE2\x94\x82",
top_left = "\xE2\x94\x8C",
bottom_left = "\xE2\x94\x94",
top_right = "\xE2\x94\x90",
bottom_right = "\xE2\x94\x98",
- },
- ["double"] = {
+ }
+ drawer.frame_styles["double"] = {
horizontal = "\xE2\x95\x90",
vertical = "\xE2\x95\x91",
top_left = "\xE2\x95\x94",
bottom_left = "\xE2\x95\x9A",
top_right = "\xE2\x95\x97",
bottom_right = "\xE2\x95\x9D",
- },
-}
+ }
+else
+ -- non-unicode cons25-style framing characters
+ drawer.frame_styles["single"] = {
+ horizontal = "\xC4",
+ vertical = "\xB3",
+ top_left = "\xDA",
+ bottom_left = "\xC0",
+ top_right = "\xBF",
+ bottom_right = "\xD9",
+ }
+ drawer.frame_styles["double"] = {
+ horizontal = "\xCD",
+ vertical = "\xBA",
+ top_left = "\xC9",
+ bottom_left = "\xC8",
+ top_right = "\xBB",
+ bottom_right = "\xBC",
+ }
+end
function drawer.drawscreen(menudef)
-- drawlogo() must go first.

File Metadata

Mime Type
text/plain
Expires
Thu, Nov 7, 9:55 PM (19 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14521585
Default Alt Text
D47403.id145908.diff (2 KB)

Event Timeline