Skip to content

Commit d89d255

Browse files
committed
lcd clock 0.09: Use custom 7 segment font
1 parent 2b08378 commit d89d255

File tree

4 files changed

+72
-4
lines changed

4 files changed

+72
-4
lines changed

apps/lcdclock/ChangeLog

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@
66
0.06: Minor code improvements
77
0.07: fix special characters in clockinfo menus
88
0.08: Allow - and . in clockinfo menus (fix #4007)
9-
Use slightly narrower clockinfo font
9+
Use slightly narrower clockinfo font
10+
0.09: Use custom 7 segment font

apps/lcdclock/app.js

Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,72 @@ odd h`,
2020
export : "alphanum"
2121
});
2222
*/
23+
Graphics.prototype.setFont7SegBig = function() {
24+
return this.setFontCustom(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAHAAAAAAAAfAAAAAAAA+AAAAAAAB8AAAAAAAD4AAAAAAAHwAAAAAAAPgAAAAAAAfAAAAAAAA+AAAAAAAB8AAAAAAAD4AAAAAAAHwAAAAAAAPgAAAAAAAfAAAAAAAA+AAAAAAAA4AAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///j///8f//+D///yf//4D///Of//gD//8+f/+AD//z+AAAAAAAP+AAAAAAA/8AAAAAAB/4AAAAAAD/wAAAAAAH/gAAAAAAP/AAAAAAAf+AAAAAAA/8AAAAAAB/wAAAAAAB/P//AB//58///AH//5z///Af//5P///B///4////H///4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AH//gD//8Af//gP//8B///g///8H///j///8f///gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAE///8gAAAc///zgAAB8///PgAAD4//8/gAAHwAAD/gAAPgAAP/AAAfAAAf+AAA+AAA/8AAB8AAB/4AAD4AAD/wAAHwAAH/gAAPgAAP/AAAfAAAf8AAA+AAAfz//x8AAAfP//z4AAAc///zgAAAT///yAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAABwAAAOAAAHwAAA+AAAPgAAD+AAAfAAAP+AAA+AAA/8AAB8AAB/4AAD4AAD/wAAHwAAH/gAAPgAAP/AAAfAAAf+AAA+AAA/8AAB8AAB/wAAD4AAB/P//Hx//58///Pn//5z///Of//5P///J///4////H///4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB///+AAAAB///5AAAAB///nAAAAB//+fAAAAB//4+AAAAAAAB8AAAAAAAD4AAAAAAAHwAAAAAAAPgAAAAAAAfAAAAAAAA+AAAAAAAB8AAAAAAAD4AAAAAAAHwAAAAAAAPgAAAA//8fH//gD//8+f//gP//85///g///8n///j///8f///gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///4AAAAH///kAAAAn//+cAAADn//58AAAPn//j4AAA/gAAHwAAD/gAAPgAAP/AAAfAAAf+AAA+AAA/8AAB8AAB/4AAD4AAD/wAAHwAAH/gAAPgAAP/AAAfAAAf8AAA+AAAfwAAB8f/+fAAAD5//+cAAADn//+QAAACf//+AAAAB///+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///j///8f//+T///yf//5z///Of//nz//8+f/+Pj//z+AAAfAAAP+AAA+AAA/8AAB8AAB/4AAD4AAD/wAAHwAAH/gAAPgAAP/AAAfAAAf+AAA+AAA/8AAB8AAB/wAAD4AAB/AAAHx//58AAAPn//5wAAAOf//5AAAAJ///4AAAAH///4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAYAAAAAAAA4AAAAAAAB4AAAAAAAD4AAAAAAAHwAAAAAAAPgAAAAAAAfAAAAAAAA+AAAAAAAB8AAAAAAAD4AAAAAAAHwAAAAAAAPAAAAAAAAc//8AH//gz//8Af//hP//8B///g///8H///j///8f///gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///4////H///k///8n//+c///zn//58///Pn//j4//8/gAAHwAAD/gAAPgAAP/AAAfAAAf+AAA+AAA/8AAB8AAB/4AAD4AAD/wAAHwAAH/gAAPgAAP/AAAfAAAf8AAA+AAAfz//x8f/+fP//z5//+c///zn//+T///yf//+P///x///+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///gAAAAf//+QAAACf//5wAAAOf//nwAAA+f/+PgAAD+AAAfAAAP+AAA+AAA/8AAB8AAB/4AAD4AAD/wAAHwAAH/gAAPgAAP/AAAfAAAf+AAA+AAA/8AAB8AAB/wAAD4AAB/P//Hx//58///Pn//5z///Of//5P///J///4////H///4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAA4AAAD4AAD4AAAHwAAHwAAAPgAAPgAAAfAAAfAAAAcAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), 32, atob("GgAAAAAAAAAAAAAAABoCABoaGhoaGhoaGhoU"), 53);
25+
};
26+
/* font created with:
27+
require("sevenseg_font_tools").createFont({
28+
img : `
29+
aaaaaaaaaaaaaaaa
30+
f aaaaaaaaaaaaaa b
31+
ff aaaaaaaaaaaa bb
32+
fff aaaaaaaaaa bbb
33+
ffff aaaaaaaa bbbb
34+
fffff bbbbb
35+
fffff bbbbb
36+
fffff bbbbb
37+
fffff bbbbb
38+
fffff bbbbb
39+
fffff bbbbb
40+
fffff bbbbb
41+
fffff xxxx bbbbb
42+
fffffxxxxxx bbbbb
43+
fffffxxxxxx bbbbb
44+
fffffxxxxxx bbbbb
45+
fffff xxxx bbbbb
46+
fffff bbbbb
47+
fffff bbbbb
48+
fffff bbbbb
49+
fffff bbbbb
50+
ffff bbbb
51+
fff bbb
52+
ff bb
53+
f gggggggggggggg b
54+
gggggggggggggggg
55+
gggggggggggggggggg
56+
gggggggggggggggg
57+
e gggggggggggggg c
58+
ee cc
59+
eee ccc
60+
eeee cccc
61+
eeeee ccccc
62+
eeeee ccccc
63+
eeeee ccccc
64+
eeeee ccccc
65+
eeeee xxxx ccccc
66+
eeeeexxxxxx ccccc
67+
eeeeexxxxxx ccccc
68+
eeeeexxxxxx ccccc
69+
eeeee xxxx ccccc
70+
eeeee ccccc
71+
eeeee ccccc
72+
eeeee ccccc
73+
eeeee ccccc
74+
eeeee ccccc
75+
eeeee ccccc
76+
eeeee ccccc
77+
eeee dddddddd cccc
78+
eee dddddddddd ccc
79+
ee dddddddddddd cc
80+
e dddddddddddddd c
81+
dddddddddddddddd
82+
`,width : 26,
83+
colonWidth : 20, // width of colon
84+
doubleWidth : 22, // width for double-size (eg 'W' and 'M')
85+
height : 53,
86+
export : "num"
87+
});
88+
*/
2389

2490

2591
{ // must be inside our own scope here so that when we are unloaded everything disappears
@@ -31,10 +97,10 @@ let draw = function() {
3197
var x = R.x + R.w/2;
3298
var y = R.y + R.h/2;
3399
g.reset().setColor(g.theme.bg).setBgColor(g.theme.fg);
34-
g.clearRect(R.x,barY+2,R.x2,R.y2-8);
100+
g.clearRect(R.x+1,barY+2,R.x2-1,R.y2-7);
35101
var date = new Date();
36102
var timeStr = require("locale").time(date, 1); // Hour and minute
37-
g.setFontAlign(0, 0).setFont("7Seg:5").drawString(timeStr, x, y+39);
103+
g.setFontAlign(0, 0).setFont("7SegBig").drawString(timeStr, x, y+41);
38104
// Show date and day of week
39105
g.setFontAlign(0, 0).setFont("7Seg:2");
40106
g.setFontAlign(-1, 0).drawString(require("locale").meridian(date).toUpperCase(), R.x+6, y);
@@ -71,6 +137,7 @@ Bangle.setUI({
71137
if (drawTimeout) clearTimeout(drawTimeout);
72138
drawTimeout = undefined;
73139
delete Graphics.prototype.setFont7Seg;
140+
delete Graphics.prototype.setFont7SegBig;
74141
// remove info menu
75142
clockInfoMenu.remove();
76143
delete clockInfoMenu;

apps/lcdclock/metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{ "id": "lcdclock",
22
"name": "LCD Clock",
3-
"version": "0.08",
3+
"version": "0.09",
44
"description": "A Casio-style clock, with ClockInfo areas at the top and bottom. Tap them and swipe up/down to toggle between different information",
55
"icon": "app.png",
66
"screenshots": [{"url":"screenshot.png"}],

apps/lcdclock/screenshot.png

522 Bytes
Loading

0 commit comments

Comments
 (0)