tlibdraw: handle larger number of subfonts - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit a6ad39aaaa36b8aadc5c35bfc803afbde32918c0
 (DIR) parent bfe4377e409ce271c479665e6ef966a7b6008626
 (HTM) Author: Russ Cox <rsc@swtch.com>
       Date:   Tue, 26 May 2020 11:24:18 -0400
       
       libdraw: handle larger number of subfonts
       
       Diffstat:
         M include/draw.h                      |       5 +++--
         M man/man3/cachechars.3               |       2 +-
         M src/libdraw/openfont.c              |       2 +-
       
       3 files changed, 5 insertions(+), 4 deletions(-)
       ---
 (DIR) diff --git a/include/draw.h b/include/draw.h
       t@@ -311,8 +311,8 @@ struct Font
                Display                *display;
                short                height;        /* max height of image, interline spacing */
                short                ascent;        /* top of image to baseline */
       -        short                width;        /* widest so far; used in caching only */        
       -        short                nsub;        /* number of subfonts */
       +        short                width;        /* widest so far; used in caching only */
       +        int                nsub;        /* number of subfonts */
                u32int                age;        /* increasing counter; used for LRU */
                int                maxdepth;        /* maximum depth of all loaded subfonts */
                int                ncache;        /* size of cache */
       t@@ -516,6 +516,7 @@ extern        Display        *display;
        extern        Font                *font;
        extern        Image        *screen;
        extern        Screen        *_screen;
       +extern        int        drawmousemask; /* set bits to disable receiving those buttons */
        extern        int        _cursorfd;
        extern        int        _drawdebug;        /* set to 1 to see errors from flushimage */
        extern        void        _setdrawop(Display*, Drawop);
 (DIR) diff --git a/man/man3/cachechars.3 b/man/man3/cachechars.3
       t@@ -165,7 +165,7 @@ struct Font {
                short        height;        /* max ht of image;interline space*/
                short        ascent;        /* top of image to baseline */
                short        width;        /* widest so far; used in caching */
       -        short        nsub;        /* number of subfonts */
       +        int        nsub;        /* number of subfonts */
                ulong        age;        /* increasing counter; for LRU */
                int        ncache;        /* size of cache */
                int        nsubf;        /* size of subfont list */
 (DIR) diff --git a/src/libdraw/openfont.c b/src/libdraw/openfont.c
       t@@ -69,7 +69,7 @@ openfont1(Display *d, char *name)
                        n = _drawflength(fd);
                if(fd < 0 && strncmp(fname, "/mnt/font/", 10) == 0) {
                        fd = _fontpipe(fname+10);
       -                n = 128*1024;
       +                n = 1024*1024;
                }
                if(fd < 0){
                        free(nambuf);