diff --git a/code/__DEFINES/text.dm b/code/__DEFINES/text.dm
index 3ac499c7d93..8a7731618bb 100644
--- a/code/__DEFINES/text.dm
+++ b/code/__DEFINES/text.dm
@@ -1,21 +1,46 @@
/// Does 4 spaces. Used as a makeshift tabulator.
#define FOURSPACES " "
+/// Standard maptext
/// Prepares a text to be used for maptext. Use this so it doesn't look hideous.
#define MAPTEXT(text) {"[##text]"}
+/**
+ * Pixel-perfect scaled fonts for use in the MAP element as defined in skin.dmf
+ *
+ * Four sizes to choose from, use the sizes as mentioned below.
+ * Between the variations and a step there should be an option that fits your use case.
+ * BYOND uses pt sizing, different than px used in TGUI. Using px will make it look blurry due to poor antialiasing.
+ *
+ * Default sizes are prefilled in the macro for ease of use and a consistent visual look.
+ * To use a step other than the default in the macro, specify it in a span style.
+ * For example: MAPTEXT_PIXELLARI("Some large maptext here")
+ */
+/// Large size (ie: context tooltips) - Size options: 12pt 24pt.
+#define MAPTEXT_PIXELLARI(text) {"[##text]"}
+
+/// Standard size (ie: normal runechat) - Size options: 6pt 12pt 18pt.
+#define MAPTEXT_GRAND9K(text) {"[##text]"}
+
+/// Small size. (ie: context subtooltips, spell delays) - Size options: 12pt 24pt.
+#define MAPTEXT_TINY_UNICODE(text) {"[##text]"}
+
+/// Smallest size. (ie: whisper runechat) - Size options: 6pt 12pt 18pt.
+#define MAPTEXT_SPESSFONT(text) {"[##text]"}
+
+/**
+ * Prepares a text to be used for maptext, using a variable size font.
+ *
+ * More flexible but doesn't scale pixel perfect to BYOND icon resolutions.
+ * (May be blurry.) Can use any size in pt or px.
+ *
+ * You MUST Specify the size when using the macro
+ * For example: MAPTEXT_VCR_OSD_MONO("Some large maptext here")
+ */
/// Prepares a text to be used for maptext, using a variable size font.
/// Variable size font. More flexible but doesn't scale pixel perfect to BYOND icon resolutions. (May be blurry.) Can use any size in pt or px.
#define MAPTEXT_VCR_OSD_MONO(text) {"[##text]"}
-/// Prepares a text to be used for maptext using a pixel font. Cleaner but less size choices.
-/// Standard size (ie: normal runechat) Use only sizing pt, multiples of 6: 6pt 12pt 18pt 24pt etc. - Not for use with px sizing
-#define MAPTEXT_GRAND9K(text) {"[##text]"}
-
-/// Prepares a text to be used for maptext using a pixel font. Cleaner but less size choices.
-/// Small size. (ie: whisper runechat) Use only size pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing
-#define MAPTEXT_TINY_UNICODE(text) {"[##text]"}
-
/// Macro from Lummox used to get height from a MeasureText proc.
/// resolves the MeasureText() return value once, then resolves the height, then sets return_var to that.
#define WXH_TO_HEIGHT(measurement, return_var) \
diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm
index eb35fbd5b24..7f2a19bd85d 100644
--- a/code/__HELPERS/icons.dm
+++ b/code/__HELPERS/icons.dm
@@ -992,7 +992,7 @@ world
letter = lowertext(letter)
var/image/text_image = new(loc = A)
- text_image.maptext = MAPTEXT_TINY_UNICODE("[letter]")
+ text_image.maptext = MAPTEXT("[letter]")
text_image.pixel_x = 7
text_image.pixel_y = 5
qdel(atom_icon)
diff --git a/code/_onclick/hud/credits.dm b/code/_onclick/hud/credits.dm
index 6de4b735bd1..e39e1ef36d0 100644
--- a/code/_onclick/hud/credits.dm
+++ b/code/_onclick/hud/credits.dm
@@ -44,7 +44,7 @@
icon = I
parent = P
icon_state = credited
- maptext = MAPTEXT(credited)
+ maptext = MAPTEXT_PIXELLARI(credited)
maptext_x = world.icon_size + 8
maptext_y = (world.icon_size / 2) - 4
maptext_width = world.icon_size * 3
diff --git a/code/datums/actions/cooldown_action.dm b/code/datums/actions/cooldown_action.dm
index 6be6e02859f..29bf2ff48ca 100644
--- a/code/datums/actions/cooldown_action.dm
+++ b/code/datums/actions/cooldown_action.dm
@@ -66,10 +66,10 @@
/datum/action/cooldown/create_button()
var/atom/movable/screen/movable/action_button/button = ..()
button.maptext = ""
- button.maptext_x = 6
+ button.maptext_x = 4
button.maptext_y = 2
- button.maptext_width = 24
- button.maptext_height = 12
+ button.maptext_width = 32
+ button.maptext_height = 16
return button
/datum/action/cooldown/update_button_status(atom/movable/screen/movable/action_button/button, force = FALSE)
@@ -79,9 +79,9 @@
button.maptext = ""
else
if (cooldown_rounding > 0)
- button.maptext = MAPTEXT("[round(time_left/10, cooldown_rounding)]")
+ button.maptext = MAPTEXT_TINY_UNICODE("[round(time_left/10, cooldown_rounding)]")
else
- button.maptext = MAPTEXT("[round(time_left/10)]")
+ button.maptext = MAPTEXT_TINY_UNICODE("[round(time_left/10)]")
if(!IsAvailable() || !is_action_active(button))
return
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 936d4054b47..bcd9e0b6f9e 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -2035,7 +2035,7 @@
active_hud.screentip_text.maptext = ""
return
- active_hud.screentip_text.maptext_y = 7 // 7px lines us up with the action buttons top left corner
+ active_hud.screentip_text.maptext_y = 10 // 10px lines us up with the action buttons top left corner
var/lmb_rmb_line = ""
var/ctrl_lmb_ctrl_rmb_line = ""
var/alt_lmb_alt_rmb_line = ""
@@ -2102,15 +2102,15 @@
extra_lines++
if(extra_lines)
- extra_context = "
[lmb_rmb_line][ctrl_lmb_ctrl_rmb_line][alt_lmb_alt_rmb_line][shift_lmb_ctrl_shift_lmb_line]"
- //first extra line pushes atom name line up 8px, subsequent lines push it up 10px, this offsets that and keeps the first line in the same place
- active_hud.screentip_text.maptext_y = -1 + (extra_lines - 1) * -10
+ extra_context = "
[lmb_rmb_line][ctrl_lmb_ctrl_rmb_line][alt_lmb_alt_rmb_line][shift_lmb_ctrl_shift_lmb_line]"
+ //first extra line pushes atom name line up 11px, subsequent lines push it up 9px, this offsets that and keeps the first line in the same place
+ active_hud.screentip_text.maptext_y = -1 + (extra_lines - 1) * -9
if (screentips_enabled == SCREENTIP_PREFERENCE_CONTEXT_ONLY && extra_context == "")
active_hud.screentip_text.maptext = ""
else
//We inline a MAPTEXT() here, because there's no good way to statically add to a string like this
- active_hud.screentip_text.maptext = "[name][extra_context]"
+ active_hud.screentip_text.maptext = "[name][extra_context]"
/// Gets a merger datum representing the connected blob of objects in the allowed_types argument
/atom/proc/GetMergeGroup(id, list/allowed_types)
diff --git a/code/game/objects/effects/countdown.dm b/code/game/objects/effects/countdown.dm
index 5e6a46796fb..f820397c0d9 100644
--- a/code/game/objects/effects/countdown.dm
+++ b/code/game/objects/effects/countdown.dm
@@ -108,7 +108,7 @@
var/obj/machinery/power/supermatter_crystal/S = attached_to
if(!istype(S))
return
- return "
[round(S.get_integrity_percent())]%
"
+ return "[round(S.get_integrity_percent())]%
"
/obj/effect/countdown/transformer
name = "transformer countdown"
diff --git a/code/modules/events/wizard/rpgtitles.dm b/code/modules/events/wizard/rpgtitles.dm
index 587c11ad550..37eae2459f6 100644
--- a/code/modules/events/wizard/rpgtitles.dm
+++ b/code/modules/events/wizard/rpgtitles.dm
@@ -90,7 +90,7 @@ GLOBAL_DATUM(rpgtitle_controller, /datum/rpgtitle_controller)
maptext_title += "[applicable_biotypes[iteration][1]] "
//mother of all strings...
- new_crewmember.maptext = "Level [rand(1, 100)] [maptext_title]"
+ new_crewmember.maptext = MAPTEXT_TINY_UNICODE("Level [rand(1, 100)] [maptext_title]")
if(!(job.job_flags & JOB_CREW_MEMBER))
return
diff --git a/code/modules/industrial_lift/elevator/elevator_indicator.dm b/code/modules/industrial_lift/elevator/elevator_indicator.dm
index f0aec0c2217..77518a4bdc8 100644
--- a/code/modules/industrial_lift/elevator/elevator_indicator.dm
+++ b/code/modules/industrial_lift/elevator/elevator_indicator.dm
@@ -150,7 +150,7 @@
return
set_light(l_on = TRUE)
- maptext = MAPTEXT_TINY_UNICODE("[current_lift_floor]
")
+ maptext = "[current_lift_floor]
"
/obj/machinery/lift_indicator/update_overlays()
. = ..()
diff --git a/interface/fonts/Pixellari.ttf b/interface/fonts/Pixellari.ttf
new file mode 100644
index 00000000000..5a3a3c2b110
Binary files /dev/null and b/interface/fonts/Pixellari.ttf differ
diff --git a/interface/fonts/SpessFont.ttf b/interface/fonts/SpessFont.ttf
new file mode 100644
index 00000000000..8f7c7e08d0d
Binary files /dev/null and b/interface/fonts/SpessFont.ttf differ
diff --git a/interface/fonts/license.txt b/interface/fonts/license.txt
index 800b033f887..9aa70fbac2a 100644
--- a/interface/fonts/license.txt
+++ b/interface/fonts/license.txt
@@ -1,8 +1,13 @@
-VCR OSD Mono created by Riciery Leal/mrmanet. Website indicates 100% free, author confirms it's free for all to use.
-(https://www.dafont.com/font-comment.php?file=vcr_osd_mono)
-
Grand9K Pixel created by Jayvee Enaguas. Licensed under Creative Commons Attribution 4.0 International (CC BY 4.0)
(https://creativecommons.org/licenses/by/4.0/) (https://www.dafont.com/grand9k-pixel.font)
+Pixellari created by Zacchary Dempsey-Plante. Website indicates free for commercial use.
+(https://www.dafont.com/pixellari.font?fpp=200)
+
+Spess Font created by MTandi (discord) for /tg/station.
+
Tiny Unicode created by Jakob Riedle/DuffsDevice. Website indicates free for commercial use.
(https://fontmeme.com/fonts/tiny-unicode-font/)
+
+VCR OSD Mono created by Riciery Leal/mrmanet. Website indicates 100% free, author confirms it's free for all to use.
+(https://www.dafont.com/font-comment.php?file=vcr_osd_mono)
diff --git a/interface/fonts/pixellari.dm b/interface/fonts/pixellari.dm
new file mode 100644
index 00000000000..24fcd1961fe
--- /dev/null
+++ b/interface/fonts/pixellari.dm
@@ -0,0 +1,252 @@
+/// For clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing
+/// Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc.
+
+/// Base font
+/datum/font/pixellari
+ name = "Pixellari"
+ font_family = 'interface/fonts/Pixellari.ttf'
+
+/// For icon overlays
+/// Pixellari 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
+/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
+/datum/font/pixellari/size_12pt
+ name = "Pixellari 12pt"
+ height = 16
+ ascent = 12
+ descent = 4
+ average_width = 7
+ max_width = 15
+ overhang = 0
+ in_leading = 0
+ ex_leading = 1
+ default_character = 31
+ start = 30
+ end = 255
+ metrics = list(\
+ 1, 5, 0, /* char 30 */ \
+ 1, 5, 0, /* char 31 */ \
+ 0, 1, 4, /* char 32 */ \
+ 1, 2, 1, /* char 33 */ \
+ 1, 5, 1, /* char 34 */ \
+ 0, 8, 1, /* char 35 */ \
+ 2, 6, 1, /* char 36 */ \
+ 0, 13, 1, /* char 37 */ \
+ 1, 8, 1, /* char 38 */ \
+ 1, 2, 1, /* char 39 */ \
+ 1, 3, 1, /* char 40 */ \
+ 2, 3, 1, /* char 41 */ \
+ 0, 6, 1, /* char 42 */ \
+ 1, 6, 1, /* char 43 */ \
+ 1, 2, 1, /* char 44 */ \
+ 1, 6, 1, /* char 45 */ \
+ 1, 2, 1, /* char 46 */ \
+ 0, 6, 1, /* char 47 */ \
+ 1, 7, 1, /* char 48 */ \
+ 2, 6, 1, /* char 49 */ \
+ 1, 6, 1, /* char 50 */ \
+ 1, 6, 1, /* char 51 */ \
+ 1, 7, 1, /* char 52 */ \
+ 1, 6, 1, /* char 53 */ \
+ 1, 6, 1, /* char 54 */ \
+ 1, 7, 1, /* char 55 */ \
+ 1, 6, 1, /* char 56 */ \
+ 1, 6, 1, /* char 57 */ \
+ 1, 2, 1, /* char 58 */ \
+ 1, 2, 1, /* char 59 */ \
+ 0, 10, 1, /* char 60 */ \
+ 1, 6, 1, /* char 61 */ \
+ 0, 10, 1, /* char 62 */ \
+ 1, 6, 1, /* char 63 */ \
+ 1, 12, 1, /* char 64 */ \
+ 1, 8, 1, /* char 65 */ \
+ 1, 8, 1, /* char 66 */ \
+ 2, 7, 1, /* char 67 */ \
+ 2, 8, 1, /* char 68 */ \
+ 2, 6, 1, /* char 69 */ \
+ 2, 6, 1, /* char 70 */ \
+ 2, 7, 1, /* char 71 */ \
+ 1, 8, 1, /* char 72 */ \
+ 1, 4, 1, /* char 73 */ \
+ 0, 7, 1, /* char 74 */ \
+ 1, 8, 1, /* char 75 */ \
+ 1, 6, 1, /* char 76 */ \
+ 1, 10, 1, /* char 77 */ \
+ 1, 9, 1, /* char 78 */ \
+ 2, 8, 1, /* char 79 */ \
+ 1, 7, 1, /* char 80 */ \
+ 2, 9, 1, /* char 81 */ \
+ 1, 8, 1, /* char 82 */ \
+ 1, 8, 1, /* char 83 */ \
+ 1, 8, 1, /* char 84 */ \
+ 2, 8, 1, /* char 85 */ \
+ 2, 8, 1, /* char 86 */ \
+ 1, 10, 1, /* char 87 */ \
+ 1, 8, 1, /* char 88 */ \
+ 1, 8, 1, /* char 89 */ \
+ 0, 10, 1, /* char 90 */ \
+ 1, 3, 1, /* char 91 */ \
+ 0, 6, 1, /* char 92 */ \
+ 2, 3, 1, /* char 93 */ \
+ 0, 7, 1, /* char 94 */ \
+ 0, 8, 1, /* char 95 */ \
+ 1, 3, 1, /* char 96 */ \
+ 1, 6, 1, /* char 97 */ \
+ 1, 7, 1, /* char 98 */ \
+ 1, 6, 1, /* char 99 */ \
+ 1, 7, 1, /* char 100 */ \
+ 1, 6, 1, /* char 101 */ \
+ 1, 4, 1, /* char 102 */ \
+ 1, 7, 1, /* char 103 */ \
+ 1, 7, 1, /* char 104 */ \
+ 1, 2, 1, /* char 105 */ \
+ -1, 4, 1, /* char 106 */ \
+ 0, 7, 1, /* char 107 */ \
+ 1, 2, 1, /* char 108 */ \
+ 1, 10, 1, /* char 109 */ \
+ 1, 6, 1, /* char 110 */ \
+ 1, 6, 1, /* char 111 */ \
+ 1, 7, 1, /* char 112 */ \
+ 1, 7, 1, /* char 113 */ \
+ 1, 6, 1, /* char 114 */ \
+ 1, 6, 1, /* char 115 */ \
+ 0, 4, 1, /* char 116 */ \
+ 1, 6, 1, /* char 117 */ \
+ 1, 6, 1, /* char 118 */ \
+ 1, 10, 1, /* char 119 */ \
+ 1, 6, 1, /* char 120 */ \
+ 1, 6, 1, /* char 121 */ \
+ 1, 6, 1, /* char 122 */ \
+ 0, 5, 1, /* char 123 */ \
+ 1, 2, 1, /* char 124 */ \
+ 0, 5, 1, /* char 125 */ \
+ 1, 8, 1, /* char 126 */ \
+ 1, 5, 0, /* char 127 */ \
+ 1, 8, 1, /* char 128 */ \
+ 1, 5, 0, /* char 129 */ \
+ 1, 5, 0, /* char 130 */ \
+ 1, 5, 0, /* char 131 */ \
+ 1, 5, 0, /* char 132 */ \
+ 1, 5, 0, /* char 133 */ \
+ 1, 5, 0, /* char 134 */ \
+ 1, 5, 0, /* char 135 */ \
+ 1, 5, 0, /* char 136 */ \
+ 1, 5, 0, /* char 137 */ \
+ 1, 8, 1, /* char 138 */ \
+ 1, 5, 0, /* char 139 */ \
+ 0, 14, 1, /* char 140 */ \
+ 1, 5, 0, /* char 141 */ \
+ 0, 10, 1, /* char 142 */ \
+ 1, 5, 0, /* char 143 */ \
+ 1, 5, 0, /* char 144 */ \
+ 1, 5, 0, /* char 145 */ \
+ 1, 5, 0, /* char 146 */ \
+ 1, 5, 0, /* char 147 */ \
+ 1, 5, 0, /* char 148 */ \
+ 1, 5, 0, /* char 149 */ \
+ 1, 5, 0, /* char 150 */ \
+ 1, 5, 0, /* char 151 */ \
+ 1, 5, 0, /* char 152 */ \
+ 1, 5, 0, /* char 153 */ \
+ 1, 6, 1, /* char 154 */ \
+ 1, 5, 0, /* char 155 */ \
+ 1, 11, 1, /* char 156 */ \
+ 1, 5, 0, /* char 157 */ \
+ 1, 6, 1, /* char 158 */ \
+ 1, 8, 1, /* char 159 */ \
+ 0, 1, 4, /* char 160 */ \
+ 1, 2, 1, /* char 161 */ \
+ 1, 6, 1, /* char 162 */ \
+ 0, 8, 1, /* char 163 */ \
+ 0, 9, 1, /* char 164 */ \
+ 1, 8, 1, /* char 165 */ \
+ 1, 2, 1, /* char 166 */ \
+ 1, 7, 1, /* char 167 */ \
+ 0, 5, 1, /* char 168 */ \
+ -1, 12, 1, /* char 169 */ \
+ 0, 6, 1, /* char 170 */ \
+ 0, 8, 1, /* char 171 */ \
+ 1, 8, 1, /* char 172 */ \
+ 1, 5, 0, /* char 173 */ \
+ -1, 12, 1, /* char 174 */ \
+ 2, 4, 1, /* char 175 */ \
+ 0, 6, 1, /* char 176 */ \
+ 1, 6, 1, /* char 177 */ \
+ 0, 5, 1, /* char 178 */ \
+ 0, 5, 1, /* char 179 */ \
+ 1, 3, 1, /* char 180 */ \
+ 1, 6, 1, /* char 181 */ \
+ 1, 7, 1, /* char 182 */ \
+ 1, 2, 1, /* char 183 */ \
+ 1, 3, 1, /* char 184 */ \
+ 1, 4, 1, /* char 185 */ \
+ 0, 6, 1, /* char 186 */ \
+ 0, 8, 1, /* char 187 */ \
+ 1, 13, 1, /* char 188 */ \
+ 1, 12, 1, /* char 189 */ \
+ 0, 13, 1, /* char 190 */ \
+ 1, 6, 1, /* char 191 */ \
+ 1, 8, 1, /* char 192 */ \
+ 1, 8, 1, /* char 193 */ \
+ 1, 8, 1, /* char 194 */ \
+ 1, 8, 1, /* char 195 */ \
+ 1, 8, 1, /* char 196 */ \
+ 1, 8, 1, /* char 197 */ \
+ 0, 13, 1, /* char 198 */ \
+ 2, 7, 1, /* char 199 */ \
+ 2, 6, 1, /* char 200 */ \
+ 2, 6, 1, /* char 201 */ \
+ 2, 6, 1, /* char 202 */ \
+ 2, 6, 1, /* char 203 */ \
+ 1, 4, 1, /* char 204 */ \
+ 1, 4, 1, /* char 205 */ \
+ 1, 4, 1, /* char 206 */ \
+ 1, 4, 1, /* char 207 */ \
+ 0, 10, 1, /* char 208 */ \
+ 1, 9, 1, /* char 209 */ \
+ 2, 8, 1, /* char 210 */ \
+ 2, 8, 1, /* char 211 */ \
+ 2, 8, 1, /* char 212 */ \
+ 2, 8, 1, /* char 213 */ \
+ 2, 8, 1, /* char 214 */ \
+ 1, 6, 1, /* char 215 */ \
+ -2, 14, 1, /* char 216 */ \
+ 2, 8, 1, /* char 217 */ \
+ 2, 8, 1, /* char 218 */ \
+ 2, 8, 1, /* char 219 */ \
+ 2, 8, 1, /* char 220 */ \
+ 1, 8, 1, /* char 221 */ \
+ 1, 8, 1, /* char 222 */ \
+ 1, 8, 1, /* char 223 */ \
+ 1, 6, 1, /* char 224 */ \
+ 1, 6, 1, /* char 225 */ \
+ 1, 6, 1, /* char 226 */ \
+ 1, 6, 1, /* char 227 */ \
+ 1, 6, 1, /* char 228 */ \
+ 1, 6, 1, /* char 229 */ \
+ 1, 11, 1, /* char 230 */ \
+ 1, 6, 1, /* char 231 */ \
+ 1, 6, 1, /* char 232 */ \
+ 1, 6, 1, /* char 233 */ \
+ 1, 6, 1, /* char 234 */ \
+ 1, 6, 1, /* char 235 */ \
+ 1, 2, 1, /* char 236 */ \
+ 1, 2, 1, /* char 237 */ \
+ 0, 4, 1, /* char 238 */ \
+ 0, 4, 1, /* char 239 */ \
+ 1, 7, 1, /* char 240 */ \
+ 1, 6, 1, /* char 241 */ \
+ 1, 6, 1, /* char 242 */ \
+ 1, 6, 1, /* char 243 */ \
+ 1, 6, 1, /* char 244 */ \
+ 1, 6, 1, /* char 245 */ \
+ 1, 6, 1, /* char 246 */ \
+ 1, 6, 1, /* char 247 */ \
+ 0, 10, 1, /* char 248 */ \
+ 1, 6, 1, /* char 249 */ \
+ 1, 6, 1, /* char 250 */ \
+ 1, 6, 1, /* char 251 */ \
+ 1, 6, 1, /* char 252 */ \
+ 1, 6, 1, /* char 253 */ \
+ 1, 8, 1, /* char 254 */ \
+ 1, 6, 1, /* char 255 */ \
+ 226)
diff --git a/interface/fonts/spess_font.dm b/interface/fonts/spess_font.dm
new file mode 100644
index 00000000000..07e8ea5b3ba
--- /dev/null
+++ b/interface/fonts/spess_font.dm
@@ -0,0 +1,252 @@
+/// For clean results on map, use only sizing pt, multiples of 6: 6t 12pt 18pt etc. - Not for use with px sizing
+/// Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc.
+
+/// Base font
+/datum/font/spessfont
+ name = "Spess Font"
+ font_family = 'interface/fonts/SpessFont.ttf'
+
+/// For icon overlays
+/// Spess Font 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
+/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
+/datum/font/spessfont/size_6pt
+ name = "Spess Font 6pt"
+ height = 8
+ ascent = 6
+ descent = 2
+ average_width = 4
+ max_width = 6
+ overhang = 0
+ in_leading = 0
+ ex_leading = 0
+ default_character = 31
+ start = 30
+ end = 255
+ metrics = list(\
+ 0, 1, 0, /* char 30 */ \
+ 0, 1, 0, /* char 31 */ \
+ 0, 1, 1, /* char 32 */ \
+ 0, 1, 1, /* char 33 */ \
+ 0, 3, 1, /* char 34 */ \
+ 0, 5, 1, /* char 35 */ \
+ 0, 3, 1, /* char 36 */ \
+ 0, 5, 1, /* char 37 */ \
+ 0, 5, 1, /* char 38 */ \
+ 0, 1, 1, /* char 39 */ \
+ 0, 2, 1, /* char 40 */ \
+ 0, 2, 1, /* char 41 */ \
+ 0, 3, 1, /* char 42 */ \
+ 0, 3, 1, /* char 43 */ \
+ 0, 1, 1, /* char 44 */ \
+ 0, 3, 1, /* char 45 */ \
+ 0, 1, 1, /* char 46 */ \
+ 0, 3, 1, /* char 47 */ \
+ 0, 4, 1, /* char 48 */ \
+ 0, 2, 1, /* char 49 */ \
+ 0, 4, 1, /* char 50 */ \
+ 0, 4, 1, /* char 51 */ \
+ 0, 4, 1, /* char 52 */ \
+ 0, 4, 1, /* char 53 */ \
+ 0, 4, 1, /* char 54 */ \
+ 0, 4, 1, /* char 55 */ \
+ 0, 4, 1, /* char 56 */ \
+ 0, 4, 1, /* char 57 */ \
+ 0, 1, 1, /* char 58 */ \
+ 0, 1, 1, /* char 59 */ \
+ 0, 3, 1, /* char 60 */ \
+ 0, 3, 1, /* char 61 */ \
+ 0, 3, 1, /* char 62 */ \
+ 0, 3, 1, /* char 63 */ \
+ 0, 4, 1, /* char 64 */ \
+ 0, 4, 1, /* char 65 */ \
+ 0, 4, 1, /* char 66 */ \
+ 0, 4, 1, /* char 67 */ \
+ 0, 4, 1, /* char 68 */ \
+ 0, 4, 1, /* char 69 */ \
+ 0, 4, 1, /* char 70 */ \
+ 0, 4, 1, /* char 71 */ \
+ 0, 4, 1, /* char 72 */ \
+ 0, 3, 1, /* char 73 */ \
+ 0, 4, 1, /* char 74 */ \
+ 0, 4, 1, /* char 75 */ \
+ 0, 4, 1, /* char 76 */ \
+ 0, 5, 1, /* char 77 */ \
+ 0, 4, 1, /* char 78 */ \
+ 0, 4, 1, /* char 79 */ \
+ 0, 4, 1, /* char 80 */ \
+ 0, 4, 1, /* char 81 */ \
+ 0, 4, 1, /* char 82 */ \
+ 0, 4, 1, /* char 83 */ \
+ 0, 5, 1, /* char 84 */ \
+ 0, 4, 1, /* char 85 */ \
+ 0, 4, 1, /* char 86 */ \
+ 0, 5, 1, /* char 87 */ \
+ 0, 5, 1, /* char 88 */ \
+ 0, 4, 1, /* char 89 */ \
+ 0, 4, 1, /* char 90 */ \
+ 0, 2, 1, /* char 91 */ \
+ 0, 3, 1, /* char 92 */ \
+ 0, 2, 1, /* char 93 */ \
+ 0, 3, 1, /* char 94 */ \
+ 0, 4, 1, /* char 95 */ \
+ 0, 2, 1, /* char 96 */ \
+ 0, 3, 1, /* char 97 */ \
+ 0, 4, 1, /* char 98 */ \
+ 0, 3, 1, /* char 99 */ \
+ 0, 4, 1, /* char 100 */ \
+ 0, 3, 1, /* char 101 */ \
+ 0, 2, 1, /* char 102 */ \
+ 0, 4, 1, /* char 103 */ \
+ 0, 3, 1, /* char 104 */ \
+ 0, 1, 1, /* char 105 */ \
+ 0, 1, 1, /* char 106 */ \
+ 0, 3, 1, /* char 107 */ \
+ 0, 1, 1, /* char 108 */ \
+ 0, 5, 1, /* char 109 */ \
+ 0, 3, 1, /* char 110 */ \
+ 0, 4, 1, /* char 111 */ \
+ 0, 4, 1, /* char 112 */ \
+ 0, 4, 1, /* char 113 */ \
+ 0, 2, 1, /* char 114 */ \
+ 0, 3, 1, /* char 115 */ \
+ 0, 2, 1, /* char 116 */ \
+ 0, 3, 1, /* char 117 */ \
+ 0, 3, 1, /* char 118 */ \
+ 0, 5, 1, /* char 119 */ \
+ 0, 3, 1, /* char 120 */ \
+ 0, 3, 1, /* char 121 */ \
+ 0, 3, 1, /* char 122 */ \
+ 0, 3, 1, /* char 123 */ \
+ 0, 1, 1, /* char 124 */ \
+ 0, 3, 1, /* char 125 */ \
+ 0, 4, 1, /* char 126 */ \
+ 0, 1, 0, /* char 127 */ \
+ 0, 1, 0, /* char 128 */ \
+ 0, 1, 0, /* char 129 */ \
+ 0, 1, 0, /* char 130 */ \
+ 0, 1, 0, /* char 131 */ \
+ 0, 1, 0, /* char 132 */ \
+ 0, 1, 0, /* char 133 */ \
+ 0, 1, 0, /* char 134 */ \
+ 0, 1, 0, /* char 135 */ \
+ 0, 1, 0, /* char 136 */ \
+ 0, 1, 0, /* char 137 */ \
+ 0, 1, 0, /* char 138 */ \
+ 0, 1, 0, /* char 139 */ \
+ 0, 1, 0, /* char 140 */ \
+ 0, 1, 0, /* char 141 */ \
+ 0, 1, 0, /* char 142 */ \
+ 0, 1, 0, /* char 143 */ \
+ 0, 1, 0, /* char 144 */ \
+ 0, 1, 0, /* char 145 */ \
+ 0, 1, 0, /* char 146 */ \
+ 0, 1, 0, /* char 147 */ \
+ 0, 1, 0, /* char 148 */ \
+ 0, 1, 0, /* char 149 */ \
+ 0, 1, 0, /* char 150 */ \
+ 0, 1, 0, /* char 151 */ \
+ 0, 1, 0, /* char 152 */ \
+ 0, 1, 0, /* char 153 */ \
+ 0, 1, 0, /* char 154 */ \
+ 0, 1, 0, /* char 155 */ \
+ 0, 1, 0, /* char 156 */ \
+ 0, 1, 0, /* char 157 */ \
+ 0, 1, 0, /* char 158 */ \
+ 0, 1, 0, /* char 159 */ \
+ 0, 1, 0, /* char 160 */ \
+ 0, 1, 0, /* char 161 */ \
+ 0, 1, 0, /* char 162 */ \
+ 0, 1, 0, /* char 163 */ \
+ 0, 1, 0, /* char 164 */ \
+ 0, 1, 0, /* char 165 */ \
+ 0, 1, 0, /* char 166 */ \
+ 0, 1, 0, /* char 167 */ \
+ 0, 1, 0, /* char 168 */ \
+ 0, 1, 0, /* char 169 */ \
+ 0, 1, 0, /* char 170 */ \
+ 0, 1, 0, /* char 171 */ \
+ 0, 1, 0, /* char 172 */ \
+ 0, 1, 0, /* char 173 */ \
+ 0, 1, 0, /* char 174 */ \
+ 0, 1, 0, /* char 175 */ \
+ 0, 1, 0, /* char 176 */ \
+ 0, 1, 0, /* char 177 */ \
+ 0, 1, 0, /* char 178 */ \
+ 0, 1, 0, /* char 179 */ \
+ 0, 1, 0, /* char 180 */ \
+ 0, 1, 0, /* char 181 */ \
+ 0, 1, 0, /* char 182 */ \
+ 0, 1, 0, /* char 183 */ \
+ 0, 1, 0, /* char 184 */ \
+ 0, 1, 0, /* char 185 */ \
+ 0, 1, 0, /* char 186 */ \
+ 0, 1, 0, /* char 187 */ \
+ 0, 1, 0, /* char 188 */ \
+ 0, 1, 0, /* char 189 */ \
+ 0, 1, 0, /* char 190 */ \
+ 0, 1, 0, /* char 191 */ \
+ 0, 1, 0, /* char 192 */ \
+ 0, 1, 0, /* char 193 */ \
+ 0, 1, 0, /* char 194 */ \
+ 0, 1, 0, /* char 195 */ \
+ 0, 1, 0, /* char 196 */ \
+ 0, 1, 0, /* char 197 */ \
+ 0, 1, 0, /* char 198 */ \
+ 0, 1, 0, /* char 199 */ \
+ 0, 1, 0, /* char 200 */ \
+ 0, 1, 0, /* char 201 */ \
+ 0, 1, 0, /* char 202 */ \
+ 0, 1, 0, /* char 203 */ \
+ 0, 1, 0, /* char 204 */ \
+ 0, 1, 0, /* char 205 */ \
+ 0, 1, 0, /* char 206 */ \
+ 0, 1, 0, /* char 207 */ \
+ 0, 1, 0, /* char 208 */ \
+ 0, 1, 0, /* char 209 */ \
+ 0, 1, 0, /* char 210 */ \
+ 0, 1, 0, /* char 211 */ \
+ 0, 1, 0, /* char 212 */ \
+ 0, 1, 0, /* char 213 */ \
+ 0, 1, 0, /* char 214 */ \
+ 0, 1, 0, /* char 215 */ \
+ 0, 1, 0, /* char 216 */ \
+ 0, 1, 0, /* char 217 */ \
+ 0, 1, 0, /* char 218 */ \
+ 0, 1, 0, /* char 219 */ \
+ 0, 1, 0, /* char 220 */ \
+ 0, 1, 0, /* char 221 */ \
+ 0, 1, 0, /* char 222 */ \
+ 0, 1, 0, /* char 223 */ \
+ 0, 1, 0, /* char 224 */ \
+ 0, 1, 0, /* char 225 */ \
+ 0, 1, 0, /* char 226 */ \
+ 0, 1, 0, /* char 227 */ \
+ 0, 1, 0, /* char 228 */ \
+ 0, 1, 0, /* char 229 */ \
+ 0, 1, 0, /* char 230 */ \
+ 0, 1, 0, /* char 231 */ \
+ 0, 1, 0, /* char 232 */ \
+ 0, 1, 0, /* char 233 */ \
+ 0, 1, 0, /* char 234 */ \
+ 0, 1, 0, /* char 235 */ \
+ 0, 1, 0, /* char 236 */ \
+ 0, 1, 0, /* char 237 */ \
+ 0, 1, 0, /* char 238 */ \
+ 0, 1, 0, /* char 239 */ \
+ 0, 1, 0, /* char 240 */ \
+ 0, 1, 0, /* char 241 */ \
+ 0, 1, 0, /* char 242 */ \
+ 0, 1, 0, /* char 243 */ \
+ 0, 1, 0, /* char 244 */ \
+ 0, 1, 0, /* char 245 */ \
+ 0, 1, 0, /* char 246 */ \
+ 0, 1, 0, /* char 247 */ \
+ 0, 1, 0, /* char 248 */ \
+ 0, 1, 0, /* char 249 */ \
+ 0, 1, 0, /* char 250 */ \
+ 0, 1, 0, /* char 251 */ \
+ 0, 1, 0, /* char 252 */ \
+ 0, 1, 0, /* char 253 */ \
+ 0, 1, 0, /* char 254 */ \
+ 0, 1, 0, /* char 255 */ \
+ 226)
diff --git a/interface/skin.dmf b/interface/skin.dmf
index d0ebe3066c7..ede8e376840 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -116,7 +116,7 @@ window "mapwindow"
is-default = true
right-click = true
saved-params = "zoom;letterbox;zoom-mode"
- style = ".center { text-align: center; } .maptext { font-family: 'Grand9K Pixel'; font-size: 6pt; -dm-text-outline: 1px black; color: white; line-height: 1.0; } .command_headset { font-weight: bold; } .small { font-family: 'TinyUnicode'; font-size: 12pt; line-height: 0.75; } .big { font-size: 8pt; } .reallybig { font-size: 8pt; } .extremelybig { font-size: 8pt; } .greentext { color: #00FF00; font-size: 6pt; } .redtext { color: #FF0000; font-size: 6pt; } .clown { color: #FF69BF; font-weight: bold; } .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; } .italics { font-family: 'TinyUnicode'; font-size: 12pt; line-height: 0.75; }"
+ style = ".center { text-align: center; } .maptext { font-family: 'Grand9K Pixel'; font-size: 6pt; -dm-text-outline: 1px black; color: white; line-height: 1.0; } .command_headset { font-weight: bold; } .context { font-family: 'Pixellari'; font-size: 12pt; -dm-text-outline: 1px black; } .subcontext { font-family: 'TinyUnicode'; font-size: 12pt; line-height: 0.75; } .small { font-family: 'Spess Font'; font-size: 6pt; line-height: 1.4; } .big { font-family: 'Pixellari'; font-size: 12pt; } .reallybig { font-size: 12pt; } .extremelybig { font-size: 12pt; } .greentext { color: #00FF00; font-size: 6pt; } .redtext { color: #FF0000; font-size: 6pt; } .clown { color: #FF69BF; font-weight: bold; } .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; } .italics { font-family: 'Spess Font'; font-size: 6pt; line-height: 1.4; }"
elem "status_bar"
type = LABEL
pos = 0,464
diff --git a/tgstation.dme b/tgstation.dme
index 067758fe62f..9d27b9ba841 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -5380,6 +5380,8 @@
#include "interface\stylesheet.dm"
#include "interface\fonts\fonts_datum.dm"
#include "interface\fonts\grand_9k.dm"
+#include "interface\fonts\pixellari.dm"
+#include "interface\fonts\spess_font.dm"
#include "interface\fonts\tiny_unicode.dm"
#include "interface\fonts\vcr_osd_mono.dm"
// END_INCLUDE