Skip to content

Commit 241f8cc

Browse files
committed
Force CR/LF for Code Page 437 fonts
1 parent 822bb4e commit 241f8cc

File tree

5 files changed

+33
-30
lines changed

5 files changed

+33
-30
lines changed

‎library.properties‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=SSD1306Ascii
2-
version=1.3.2
2+
version=1.3.3
33
author=Bill Greiman <fat16lib@sbcglobal.net>
44
maintainer=Bill Greiman <fat16lib@sbcglobal.net>
55
sentence=Text display on small momochrome OLED modules.

‎src/SSD1306Ascii.cpp‎

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -305,34 +305,35 @@ size_t SSD1306Ascii::write(uint8_t ch) {
305305
uint8_t count = readFontByte(m_font + FONT_CHAR_COUNT);
306306
const uint8_t* base = m_font + FONT_WIDTH_TABLE;
307307

308-
if (ch < first || ch >= (first + count)) {
309-
if (ch == '\r') {
310-
setCol(0);
311-
return 1;
312-
}
313-
if (ch == '\n') {
314-
setCol(0);
315-
uint8_t fr = m_magFactor*nr;
308+
if (ch == '\r') {
309+
setCol(0);
310+
return 1;
311+
}
312+
if (ch == '\n') {
313+
setCol(0);
314+
uint8_t fr = m_magFactor*nr;
316315
#if INCLUDE_SCROLLING
317-
uint8_t dr = displayRows();
318-
uint8_t tmpRow = m_row + fr;
319-
int8_t delta = tmpRow + fr - dr;
320-
if (m_scrollMode == SCROLL_MODE_OFF || delta <= 0) {
321-
setRow(tmpRow);
322-
} else {
323-
m_pageOffset = (m_pageOffset + delta) & 7;
324-
m_row = dr - fr;
325-
// Cursor will be positioned by clearToEOL.
326-
clearToEOL();
327-
if (m_scrollMode == SCROLL_MODE_AUTO) {
328-
setStartLine(8*m_pageOffset);
329-
}
316+
uint8_t dr = displayRows();
317+
uint8_t tmpRow = m_row + fr;
318+
int8_t delta = tmpRow + fr - dr;
319+
if (m_scrollMode == SCROLL_MODE_OFF || delta <= 0) {
320+
setRow(tmpRow);
321+
} else {
322+
m_pageOffset = (m_pageOffset + delta) & 7;
323+
m_row = dr - fr;
324+
// Cursor will be positioned by clearToEOL.
325+
clearToEOL();
326+
if (m_scrollMode == SCROLL_MODE_AUTO) {
327+
setStartLine(8*m_pageOffset);
330328
}
329+
}
331330
#else // INCLUDE_SCROLLING
332-
setRow(m_row + fr);
331+
setRow(m_row + fr);
333332
#endif // INCLUDE_SCROLLING
334-
return 1;
335-
}
333+
return 1;
334+
}
335+
// Error if not in font.
336+
if (ch < first || (first + count) <= ch) {
336337
return 0;
337338
}
338339
ch -= first;

‎src/SSD1306Ascii.h‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
#include "fonts/allFonts.h"
2929
//------------------------------------------------------------------------------
3030
/** SSD1306Ascii version */
31-
#define SDD1306_ASCII_VERSION 10302
31+
#define SDD1306_ASCII_VERSION 10303
3232
//------------------------------------------------------------------------------
3333
// Configuration options.
3434
/** Set Scrolling mode for newline.
@@ -443,7 +443,7 @@ class SSD1306Ascii : public Print {
443443
* @brief Advance ticker by one pixel.
444444
*
445445
* @param[in,out] state Ticker state.
446-
* @return Number of entries in text pointer queue.
446+
* @return Number of entries in text pointer queue or -1 if an error occurs.
447447
*/
448448
int8_t tickerTick(TickerState* state);
449449
/**

‎src/fonts/Adafruit5x7.h‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
// standard ascii 5x7 font
55
// Restrict to 96 characters
6+
#ifndef ADAFRUIT_ASCII96
67
#define ADAFRUIT_ASCII96 1
8+
#endif // ADAFRUIT_ASCII96
79
GLCDFONTDECL(Adafruit5x7) = {
810
0x0, 0x0, // size of zero indicates fixed width font,
911
0x05, // width

‎src/fonts/ZevvPeep8x16.h‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// STARTFONT 2.1
22
// FONT -zevv-peep-Medium-R-Normal--16-140-75-75-C-80-ISO8859-1
3-
#ifndef font8x16_h
4-
#define font8x16_h
3+
#ifndef ZevvPeep8x16_h
4+
#define ZevvPeep8x16_h
55

66
GLCDFONTDECL(ZevvPeep8x16) = {
77
0x0, 0x0, // size of zero indicates fixed width font,
@@ -106,4 +106,4 @@ GLCDFONTDECL(ZevvPeep8x16) = {
106106
0X30,0X08,0X08,0X10,0X20,0X20,0X18,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // '~'
107107
0XFE,0XFE,0XFE,0XFE,0XFE,0XFE,0XFE,0X7F,0X7F,0X7F,0X7F,0X7F,0X7F,0X7F // del
108108
};
109-
#endif // font8x16_h
109+
#endif // ZevvPeep8x16_h

0 commit comments

Comments
 (0)