diff options
author | Renato Botelho <garga@FreeBSD.org> | 2007-01-09 00:07:24 +0000 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2007-01-09 00:07:24 +0000 |
commit | 6f19dcfc3c24901c01ef5cabeee9e040aa9a31d2 (patch) | |
tree | 83c18cfaaf2087483c97ee18b8db7aee2463d7c5 /devel/libslang | |
parent | 70ba3ac8cb801a41aa6cfbae6c0ee2d6ccc5e753 (diff) | |
download | ports-6f19dcfc3c24901c01ef5cabeee9e040aa9a31d2.tar.gz ports-6f19dcfc3c24901c01ef5cabeee9e040aa9a31d2.zip |
Notes
Diffstat (limited to 'devel/libslang')
-rw-r--r-- | devel/libslang/Makefile | 5 | ||||
-rw-r--r-- | devel/libslang/files/extra-utf8-acs.patch | 417 |
2 files changed, 419 insertions, 3 deletions
diff --git a/devel/libslang/Makefile b/devel/libslang/Makefile index 93589606ad1d..84f5b3210fae 100644 --- a/devel/libslang/Makefile +++ b/devel/libslang/Makefile @@ -29,10 +29,7 @@ ALL_TARGET= all elf INSTALL_TARGET= install install-elf DOCSDIR= ${PREFIX}/share/doc/slang - -.if !defined(NOPORTDOCS) PORTDOCS= * -.endif .include <bsd.port.pre.mk> @@ -45,6 +42,8 @@ PATCH_SITES+= http://www.emaillab.org/mutt/tools/ PATCHFILES+= slang-1.4.8-utf8.diff.gz PATCH_DIST_STRIP+= -p1 +EXTRA_PATCHES= ${FILESDIR}/extra-utf8-acs.patch + post-patch: @${REINPLACE_CMD} 's,slang-utf8,slang,' ${WRKSRC}/src/Makefile.in .endif diff --git a/devel/libslang/files/extra-utf8-acs.patch b/devel/libslang/files/extra-utf8-acs.patch new file mode 100644 index 000000000000..d53933c7792c --- /dev/null +++ b/devel/libslang/files/extra-utf8-acs.patch @@ -0,0 +1,417 @@ +--- src/slang.h.acs 2002-07-09 00:03:57.000000000 -0400 ++++ src/slang.h 2002-07-09 00:11:06.000000000 -0400 +@@ -1255,6 +1255,8 @@ + + #ifdef UTF8 + typedef int SLsmg_Char_Type; ++extern SLtt_Char_Type SLcurses_Acs_Map [128]; ++#define acs_map SLcurses_Acs_Map + #define SLSMG_EXTRACT_CHAR(x) ((x) & 0xFFFFFF) + #define SLSMG_EXTRACT_COLOR(x) (((x)>>24)&0xFF) + #define SLSMG_BUILD_CHAR(ch,color) (((SLsmg_Char_Type)(wchar_t)(ch))|((color)<<24)) +@@ -1396,7 +1398,11 @@ + extern void SLsmg_set_screen_start (int *, int *); + extern void SLsmg_draw_hline (unsigned int); + extern void SLsmg_draw_vline (int); ++#ifdef UTF8 ++extern void SLsmg_draw_object (int, int, SLsmg_Char_Type); ++#else + extern void SLsmg_draw_object (int, int, unsigned char); ++#endif + extern void SLsmg_draw_box (int, int, unsigned int, unsigned int); + extern int SLsmg_get_column(void); + extern int SLsmg_get_row(void); +@@ -1408,6 +1414,9 @@ + extern int SLsmg_Display_Eight_Bit; + extern int SLsmg_Tab_Width; + ++extern int SLsmg_Is_Unicode; ++extern int SLsmg_Setlocale; ++ + #define SLSMG_NEWLINE_IGNORED 0 /* default */ + #define SLSMG_NEWLINE_MOVES 1 /* moves to next line, column 0 */ + #define SLSMG_NEWLINE_SCROLLS 2 /* moves but scrolls at bottom of screen */ +@@ -1465,31 +1474,79 @@ + # define SLSMG_BOARD_CHAR '#' + # define SLSMG_BLOCK_CHAR '#' + # else +-# define SLSMG_HLINE_CHAR 'q' +-# define SLSMG_VLINE_CHAR 'x' +-# define SLSMG_ULCORN_CHAR 'l' +-# define SLSMG_URCORN_CHAR 'k' +-# define SLSMG_LLCORN_CHAR 'm' +-# define SLSMG_LRCORN_CHAR 'j' +-# define SLSMG_CKBRD_CHAR 'a' +-# define SLSMG_RTEE_CHAR 'u' +-# define SLSMG_LTEE_CHAR 't' +-# define SLSMG_UTEE_CHAR 'w' +-# define SLSMG_DTEE_CHAR 'v' +-# define SLSMG_PLUS_CHAR 'n' +-# define SLSMG_DIAMOND_CHAR '`' +-# define SLSMG_DEGREE_CHAR 'f' +-# define SLSMG_PLMINUS_CHAR 'g' +-# define SLSMG_BULLET_CHAR '~' +-# define SLSMG_LARROW_CHAR ',' +-# define SLSMG_RARROW_CHAR '+' +-# define SLSMG_DARROW_CHAR '.' +-# define SLSMG_UARROW_CHAR '-' +-# define SLSMG_BOARD_CHAR 'h' +-# define SLSMG_BLOCK_CHAR '0' ++# define SLSMG_HLINE_CHAR (acs_map['q']) ++# define SLSMG_VLINE_CHAR (acs_map['x']) ++# define SLSMG_ULCORN_CHAR (acs_map['l']) ++# define SLSMG_URCORN_CHAR (acs_map['k']) ++# define SLSMG_LLCORN_CHAR (acs_map['m']) ++# define SLSMG_LRCORN_CHAR (acs_map['j']) ++# define SLSMG_CKBRD_CHAR (acs_map['a']) ++# define SLSMG_RTEE_CHAR (acs_map['u']) ++# define SLSMG_LTEE_CHAR (acs_map['t']) ++# define SLSMG_UTEE_CHAR (acs_map['v']) ++# define SLSMG_DTEE_CHAR (acs_map['w']) ++# define SLSMG_PLUS_CHAR (acs_map['n']) ++# define SLSMG_DIAMOND_CHAR (acs_map['`']) ++# define SLSMG_DEGREE_CHAR (acs_map['f']) ++# define SLSMG_PLMINUS_CHAR (acs_map['g']) ++# define SLSMG_BULLET_CHAR (acs_map['~']) ++# define SLSMG_LARROW_CHAR (acs_map[',']) ++# define SLSMG_RARROW_CHAR (acs_map['+']) ++# define SLSMG_DARROW_CHAR (acs_map['.']) ++# define SLSMG_UARROW_CHAR (acs_map['-']) ++# define SLSMG_BOARD_CHAR (acs_map['h']) ++# define SLSMG_BLOCK_CHAR (acs_map['0']) ++# ++# define SLSMG_HLINE_CHAR_TERM 'q' ++# define SLSMG_VLINE_CHAR_TERM 'x' ++# define SLSMG_ULCORN_CHAR_TERM 'l' ++# define SLSMG_URCORN_CHAR_TERM 'k' ++# define SLSMG_LLCORN_CHAR_TERM 'm' ++# define SLSMG_LRCORN_CHAR_TERM 'j' ++# define SLSMG_CKBRD_CHAR_TERM 'a' ++# define SLSMG_RTEE_CHAR_TERM 'u' ++# define SLSMG_LTEE_CHAR_TERM 't' ++# define SLSMG_UTEE_CHAR_TERM 'v' ++# define SLSMG_DTEE_CHAR_TERM 'w' ++# define SLSMG_PLUS_CHAR_TERM 'n' ++# define SLSMG_DIAMOND_CHAR_TERM '`' ++# define SLSMG_DEGREE_CHAR_TERM 'f' ++# define SLSMG_PLMINUS_CHAR_TERM 'g' ++# define SLSMG_BULLET_CHAR_TERM '~' ++# define SLSMG_LARROW_CHAR_TERM ',' ++# define SLSMG_RARROW_CHAR_TERM '+' ++# define SLSMG_DARROW_CHAR_TERM '.' ++# define SLSMG_UARROW_CHAR_TERM '-' ++# define SLSMG_BOARD_CHAR_TERM 'h' ++# define SLSMG_BLOCK_CHAR_TERM '0' + # endif /* AMIGA */ + #endif /* IBMPC_SYSTEM */ + ++#ifdef UTF8 ++# define SLSMG_HLINE_CHAR_UNICODE 0x2500 ++# define SLSMG_VLINE_CHAR_UNICODE 0x2502 ++# define SLSMG_ULCORN_CHAR_UNICODE 0x250c ++# define SLSMG_URCORN_CHAR_UNICODE 0x2510 ++# define SLSMG_LLCORN_CHAR_UNICODE 0x2514 ++# define SLSMG_LRCORN_CHAR_UNICODE 0x2518 ++# define SLSMG_RTEE_CHAR_UNICODE 0x2524 ++# define SLSMG_LTEE_CHAR_UNICODE 0x251c ++# define SLSMG_UTEE_CHAR_UNICODE 0x2534 ++# define SLSMG_DTEE_CHAR_UNICODE 0x252c ++# define SLSMG_PLUS_CHAR_UNICODE 0x253c ++# define SLSMG_CKBRD_CHAR_UNICODE 0x2592 ++# define SLSMG_DIAMOND_CHAR_UNICODE 0x25c6 ++# define SLSMG_DEGREE_CHAR_UNICODE 0x00b0 ++# define SLSMG_PLMINUS_CHAR_UNICODE 0x00b1 ++# define SLSMG_BULLET_CHAR_UNICODE 0x00b7 ++# define SLSMG_LARROW_CHAR_UNICODE 0x2190 ++# define SLSMG_RARROW_CHAR_UNICODE 0x2192 ++# define SLSMG_DARROW_CHAR_UNICODE 0x2193 ++# define SLSMG_UARROW_CHAR_UNICODE 0x2191 ++# define SLSMG_BOARD_CHAR_UNICODE 0x2592 ++# define SLSMG_BLOCK_CHAR_UNICODE 0x25ae ++#endif ++ + #ifndef IBMPC_SYSTEM + # define SLSMG_COLOR_BLACK 0x000000 + # define SLSMG_COLOR_RED 0x000001 +--- src/slcurses.c.acs 2002-07-09 00:03:57.000000000 -0400 ++++ src/slcurses.c 2002-07-09 00:09:03.000000000 -0400 +@@ -331,40 +331,63 @@ + /* SLtt_set_mono (A_BLINK >> 8, NULL, SLTT_BLINK_MASK); */ + SLtt_set_mono ((A_BOLD|A_UNDERLINE) >> 8, NULL, SLTT_ULINE_MASK|SLTT_BOLD_MASK); + SLtt_set_mono ((A_REVERSE|A_UNDERLINE) >> 8, NULL, SLTT_ULINE_MASK|SLTT_REV_MASK); ++ ++ SLcurses_init_acs_map(); ++ ++ return SLcurses_Stdscr; ++} + ++void SLcurses_init_acs_map() ++{ + if (SLtt_Has_Alt_Charset) + { +- SLcurses_Acs_Map[SLSMG_ULCORN_CHAR] = SLSMG_ULCORN_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_URCORN_CHAR] = SLSMG_URCORN_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_LLCORN_CHAR] = SLSMG_LLCORN_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_LRCORN_CHAR] = SLSMG_LRCORN_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_UTEE_CHAR] = SLSMG_UTEE_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_DTEE_CHAR] = SLSMG_DTEE_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_LTEE_CHAR] = SLSMG_LTEE_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_RTEE_CHAR] = SLSMG_RTEE_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_VLINE_CHAR] = SLSMG_VLINE_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_HLINE_CHAR] = SLSMG_HLINE_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_PLUS_CHAR] = SLSMG_PLUS_CHAR | A_ALTCHARSET; +- SLcurses_Acs_Map[SLSMG_CKBRD_CHAR] = SLSMG_CKBRD_CHAR | A_ALTCHARSET; ++ if (SLsmg_Is_Unicode) ++ { ++ SLcurses_Acs_Map['l'] = SLSMG_ULCORN_CHAR_UNICODE; ++ SLcurses_Acs_Map['k'] = SLSMG_URCORN_CHAR_UNICODE; ++ SLcurses_Acs_Map['m'] = SLSMG_LLCORN_CHAR_UNICODE; ++ SLcurses_Acs_Map['j'] = SLSMG_LRCORN_CHAR_UNICODE; ++ SLcurses_Acs_Map['v'] = SLSMG_UTEE_CHAR_UNICODE; ++ SLcurses_Acs_Map['w'] = SLSMG_DTEE_CHAR_UNICODE; ++ SLcurses_Acs_Map['t'] = SLSMG_LTEE_CHAR_UNICODE; ++ SLcurses_Acs_Map['u'] = SLSMG_RTEE_CHAR_UNICODE; ++ SLcurses_Acs_Map['x'] = SLSMG_VLINE_CHAR_UNICODE; ++ SLcurses_Acs_Map['q'] = SLSMG_HLINE_CHAR_UNICODE; ++ SLcurses_Acs_Map['n'] = SLSMG_PLUS_CHAR_UNICODE; ++ SLcurses_Acs_Map['a'] = SLSMG_CKBRD_CHAR_UNICODE; ++ } ++ else ++ { ++ SLcurses_Acs_Map['l'] = SLSMG_ULCORN_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['k'] = SLSMG_URCORN_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['m'] = SLSMG_LLCORN_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['j'] = SLSMG_LRCORN_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['v'] = SLSMG_UTEE_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['w'] = SLSMG_DTEE_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['t'] = SLSMG_LTEE_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['u'] = SLSMG_RTEE_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['x'] = SLSMG_VLINE_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['q'] = SLSMG_HLINE_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['n'] = SLSMG_PLUS_CHAR_TERM | A_ALTCHARSET; ++ SLcurses_Acs_Map['a'] = SLSMG_CKBRD_CHAR_TERM | A_ALTCHARSET; ++ } + } + else + { + /* ugly defaults to use on terminals which don't support graphics */ +- SLcurses_Acs_Map[SLSMG_ULCORN_CHAR] = '+'; +- SLcurses_Acs_Map[SLSMG_URCORN_CHAR] = '+'; +- SLcurses_Acs_Map[SLSMG_LLCORN_CHAR] = '+'; +- SLcurses_Acs_Map[SLSMG_LRCORN_CHAR] = '+'; +- SLcurses_Acs_Map[SLSMG_UTEE_CHAR] = '+'; +- SLcurses_Acs_Map[SLSMG_DTEE_CHAR] = '+'; +- SLcurses_Acs_Map[SLSMG_LTEE_CHAR] = '+'; +- SLcurses_Acs_Map[SLSMG_RTEE_CHAR] = '+'; +- SLcurses_Acs_Map[SLSMG_VLINE_CHAR] = '|'; +- SLcurses_Acs_Map[SLSMG_HLINE_CHAR] = '-'; +- SLcurses_Acs_Map[SLSMG_PLUS_CHAR] = '+'; +- SLcurses_Acs_Map[SLSMG_CKBRD_CHAR] = '#'; ++ SLcurses_Acs_Map['l'] = '+'; ++ SLcurses_Acs_Map['k'] = '+'; ++ SLcurses_Acs_Map['m'] = '+'; ++ SLcurses_Acs_Map['j'] = '+'; ++ SLcurses_Acs_Map['v'] = '+'; ++ SLcurses_Acs_Map['w'] = '+'; ++ SLcurses_Acs_Map['t'] = '+'; ++ SLcurses_Acs_Map['u'] = '+'; ++ SLcurses_Acs_Map['x'] = '|'; ++ SLcurses_Acs_Map['q'] = '-'; ++ SLcurses_Acs_Map['n'] = '+'; ++ SLcurses_Acs_Map['a'] = '#'; + } +- +- return SLcurses_Stdscr; + } + + int SLcurses_wattrset (SLcurses_Window_Type *w, SLtt_Char_Type ch) +--- src/slcurses.h.acs 2002-02-10 02:39:19.000000000 -0500 ++++ src/slcurses.h 2002-07-09 00:03:57.000000000 -0400 +@@ -141,6 +141,7 @@ + + extern int SLcurses_nodelay (SLcurses_Window_Type *, int); + extern SLcurses_Window_Type *SLcurses_initscr (void); ++extern void SLcurses_init_acs_map (void); + #define initscr SLcurses_initscr + + extern int SLcurses_cbreak (void); +@@ -222,21 +222,21 @@ + extern SLtt_Char_Type SLcurses_Acs_Map [128]; + #define acs_map SLcurses_Acs_Map + +-#define ACS_ULCORNER (acs_map[SLSMG_ULCORN_CHAR]) +-#define ACS_URCORNER (acs_map[SLSMG_URCORN_CHAR]) +-#define ACS_LRCORNER (acs_map[SLSMG_LRCORN_CHAR]) +-#define ACS_LLCORNER (acs_map[SLSMG_LLCORN_CHAR]) +-#define ACS_TTEE (acs_map[SLSMG_UTEE_CHAR]) +-#define ACS_LTEE (acs_map[SLSMG_LTEE_CHAR]) +-#define ACS_RTEE (acs_map[SLSMG_RTEE_CHAR]) +-#define ACS_BTEE (acs_map[SLSMG_DTEE_CHAR]) +-#define ACS_PLUS (acs_map[SLSMG_PLUS_CHAR]) +-#define ACS_VLINE (acs_map[SLSMG_VLINE_CHAR]) +-#define ACS_HLINE (acs_map[SLSMG_HLINE_CHAR]) ++#define ACS_ULCORNER SLSMG_ULCORN_CHAR ++#define ACS_URCORNER SLSMG_URCORN_CHAR ++#define ACS_LRCORNER SLSMG_LRCORN_CHAR ++#define ACS_LLCORNER SLSMG_LLCORN_CHAR ++#define ACS_TTEE SLSMG_UTEE_CHAR ++#define ACS_LTEE SLSMG_LTEE_CHAR ++#define ACS_RTEE SLSMG_RTEE_CHAR ++#define ACS_BTEE SLSMG_DTEE_CHAR ++#define ACS_PLUS SLSMG_PLUS_CHAR ++#define ACS_VLINE SLSMG_VLINE_CHAR ++#define ACS_HLINE SLSMG_HLINE_CHAR + #define ACS_S1 '-' + #define ACS_S9 '-' + #define ACS_DIAMOND '&' +-#define ACS_CKBOARD (acs_map[SLSMG_CKBRD_CHAR]) ++#define ACS_CKBOARD SLSMG_CKBRD_CHAR + #define ACS_DEGREE 'o' + #define ACS_PLMINUS '+' + #define ACS_BULLET '*' +--- src/slsmg.c.acs 2002-07-09 00:03:57.000000000 -0400 ++++ src/slsmg.c 2002-07-09 00:03:57.000000000 -0400 +@@ -10,6 +10,9 @@ + + #include "slang.h" + #include "_slang.h" ++#include "slcurses.h" ++ ++#include <locale.h> + + typedef struct Screen_Type + { +@@ -44,9 +47,9 @@ + */ + + #ifndef IBMPC_SYSTEM +-#define ALT_CHAR_FLAG 0x80 ++static int ALT_CHAR_FLAG=0x80; + #else +-#define ALT_CHAR_FLAG 0x00 ++static int ALT_CHAR_FLAG=0x00; + #endif + + #if SLTT_HAS_NON_BCE_SUPPORT && !defined(IBMPC_SYSTEM) +@@ -54,6 +57,8 @@ + static int Bce_Color_Offset; + #endif + ++int SLsmg_Is_Unicode = 0; ++int SLsmg_Setlocale = 1; + int SLsmg_Newline_Behavior = 0; + int SLsmg_Backspace_Moves = 0; + /* Backward compatibility. Not used. */ +@@ -184,6 +189,8 @@ + return;/* alt chars not used and the alt bit + * is used to indicate a blink. + */ ++ if (SLsmg_Is_Unicode) ++ ALT_CHAR_FLAG=0x00; + + if (i) This_Alt_Char = ALT_CHAR_FLAG; + else This_Alt_Char = 0; +@@ -348,6 +355,8 @@ + #ifndef IBMPC_SYSTEM + int alt_char_set_flag; + ++ if (SLsmg_Is_Unicode) ++ ALT_CHAR_FLAG = 0x00; + alt_char_set_flag = ((This_Color & ALT_CHAR_FLAG) + && ((tt_Use_Blink_For_ACS == NULL) + || (*tt_Use_Blink_For_ACS == 0))); +@@ -1221,6 +1230,20 @@ + Smg_Inited = 0; + } + ++static void SLsmg_check_unicode(void) ++{ ++ char *s,*t; ++ ++ if (SLsmg_Setlocale) ++ s = setlocale(LC_ALL, ""); ++ else ++ s = setlocale(LC_ALL, NULL); ++ if (s && (strstr(s,"UTF-8") || strstr(s,"utf8"))) { ++ SLsmg_Is_Unicode = 1; ++ return; ++ } ++ SLsmg_Is_Unicode = 0; ++} + + static int init_smg (void) + { +@@ -1242,6 +1265,8 @@ + This_Col = This_Row = Start_Col = Start_Row = 0; + + This_Alt_Char = 0; ++ SLsmg_check_unicode (); ++ SLcurses_init_acs_map (); + SLsmg_set_color (0); + Cls_Flag = 1; + #ifndef IBMPC_SYSTEM +@@ -1386,7 +1411,11 @@ + } + } + ++#ifdef UTF8 ++void SLsmg_draw_object (int r, int c, SLsmg_Char_Type object) ++#else + void SLsmg_draw_object (int r, int c, unsigned char object) ++#endif + { + This_Row = r; This_Col = c; + +@@ -1405,7 +1434,7 @@ + + void SLsmg_draw_hline (unsigned int n) + { +- static unsigned char hbuf[16]; ++ SLsmg_Char_Type ch = SLSMG_HLINE_CHAR; + int count; + int cmin, cmax; + int final_col = This_Col + (int) n; +@@ -1421,11 +1450,6 @@ + return; + } + +- if (hbuf[0] == 0) +- { +- SLMEMSET ((char *) hbuf, SLSMG_HLINE_CHAR, 16); +- } +- + n = (unsigned int)(cmax - cmin); + count = n / 16; + +@@ -1433,10 +1457,10 @@ + This_Color |= ALT_CHAR_FLAG; + This_Col = cmin; + +- SLsmg_write_nchars ((char *) hbuf, n % 16); +- while (count-- > 0) ++ SLsmg_draw_object(This_Row, This_Col, ch); ++ while (n-- > 0) + { +- SLsmg_write_nchars ((char *) hbuf, 16); ++ SLsmg_draw_object(This_Row, This_Col, ch); + } + + This_Color = save_color; +@@ -1445,7 +1469,7 @@ + + void SLsmg_draw_vline (int n) + { +- unsigned char ch = SLSMG_VLINE_CHAR; ++ SLsmg_Char_Type ch = SLSMG_VLINE_CHAR; + int c = This_Col, rmin, rmax; + int final_row = This_Row + n; + int save_color; +@@ -1466,7 +1490,7 @@ + for (This_Row = rmin; This_Row < rmax; This_Row++) + { + This_Col = c; +- SLsmg_write_nchars ((char *) &ch, 1); ++ SLsmg_draw_object (This_Row, This_Col, ch); + } + + This_Col = c; This_Row = final_row; |