Skip to content

Commit 3c4dd05

Browse files
committed
EMCC: update to use font 'Inconsolata'
1 parent 50bc878 commit 3c4dd05

File tree

4 files changed

+11
-8
lines changed

4 files changed

+11
-8
lines changed

src/platform/emcc/canvas.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ EM_JS(int, get_text_size, (int id, const char *str, const char *face), {
7474

7575
var s = UTF8ToString(str);
7676
var metrics = ctx.measureText(s);
77-
var height = metrics.fontBoundingBoxAscent + metrics.fontBoundingBoxDescent + 2;
78-
var width = s == "W" ? metrics.width : (metrics.actualBoundingBoxRight + 2);
77+
var height = metrics.fontBoundingBoxAscent + metrics.fontBoundingBoxDescent + 4;
78+
var width = metrics.width;
7979
return (Math.round(width) << 16) + height;
8080
});
8181

@@ -147,7 +147,7 @@ EM_JS(void, draw_text, (int id, int x, int y, const char *str, int len, const ch
147147
var s = UTF8ToString(str).substring(0, len);
148148
var metrics = ctx.measureText(s);
149149
ctx.fillStyle = UTF8ToString(color);
150-
ctx.fillText(s, x, y + metrics.fontBoundingBoxAscent + metrics.fontBoundingBoxDescent);
150+
ctx.fillText(s, x, y + metrics.fontBoundingBoxAscent + metrics.fontBoundingBoxDescent - 1);
151151
});
152152

153153
strlib::String get_color() {
@@ -179,7 +179,7 @@ Font::Font(int size, bool bold, bool italic) :
179179
if (bold) {
180180
_face.append("bold ");
181181
}
182-
_face.append(size).append("px monospace");
182+
_face.append(size).append("px 'Inconsolata', monospace");
183183
}
184184

185185
Font::~Font() {

src/platform/emcc/runtime.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include "platform/emcc/main_bas.h"
2222
#include "platform/emcc/keymap.h"
2323

24+
#define FONT_SIZE 14
2425
#define MAIN_BAS "__main_bas__"
2526
#define WAIT_INTERVAL 10
2627
#define EVENT_TYPE_RESTART 101
@@ -86,7 +87,7 @@ Runtime::Runtime() :
8687
_output = new AnsiWidget(EXTENT_X(screenSize), EXTENT_Y(screenSize));
8788
_output->construct();
8889
_output->setTextColor(DEFAULT_FOREGROUND, DEFAULT_BACKGROUND);
89-
_output->setFontSize(12);
90+
_output->setFontSize(FONT_SIZE);
9091
_eventQueue = new Stack<MAEvent *>();
9192
_state = kActiveState;
9293
g_themeId = 0;

src/platform/emcc/shell.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
<meta charset="utf-8">
55
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
66
<title>SmallBASIC</title>
7+
<link rel="preconnect" href="https://fonts.googleapis.com">
8+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9+
<link href="https://fonts.googleapis.com/css2?family=Inconsolata&display=swap" rel="stylesheet">
710
<style>
811
body {
912
margin: 0px;
@@ -58,12 +61,10 @@
5861
<progress value="0" max="100" id="progress" hidden=1></progress>
5962
</div>
6063
<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()" tabindex=-1></canvas>
61-
6264
<script type='text/javascript'>
6365
var statusElement = document.getElementById('status');
6466
var progressElement = document.getElementById('progress');
6567
var spinnerElement = document.getElementById('spinner');
66-
6768
var Module = {
6869
preRun: [],
6970
postRun: [],
@@ -72,7 +73,6 @@
7273
if (element) element.value = ''; // clear browser cache
7374
return function(text) {
7475
if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
75-
console.log(text);
7676
if (element) {
7777
element.value += text + "\n";
7878
element.scrollTop = element.scrollHeight; // focus on bottom

src/ui/system.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,12 +1114,14 @@ void System::showMenu() {
11141114
_systemMenu[index++] = MENU_KEYPAD;
11151115
#endif
11161116
if (_mainBas) {
1117+
#if !defined(_EMCC)
11171118
sprintf(buffer, MENU_STR_FONT, _fontScale - FONT_SCALE_INTERVAL);
11181119
items->add(new String(buffer));
11191120
sprintf(buffer, MENU_STR_FONT, _fontScale + FONT_SCALE_INTERVAL);
11201121
items->add(new String(buffer));
11211122
_systemMenu[index++] = MENU_ZOOM_UP;
11221123
_systemMenu[index++] = MENU_ZOOM_DN;
1124+
#endif
11231125
sprintf(buffer, MENU_STR_EDITOR, opt_ide == IDE_NONE ? MENU_STR_OFF : MENU_STR_ON);
11241126
items->add(new String(buffer));
11251127
_systemMenu[index++] = MENU_EDITMODE;

0 commit comments

Comments
 (0)