Laura and William,
The SDL2 port also seems to add an immense speed boost, so I'm happy about
that. I only "upgraded", though, to stay current.
I double-checked, and I didn't compile with WIDE defined, so that's not my
issue. Maybe I'll try building under a Linux VM to see if my results are
different. For my purposes right now, developing under there would be good
enough, if I can't get it to work on my Macbook.
Thanks for the replies!
Karl
On Wed, Mar 21, 2018 at 7:10 AM, LM wrote:
> On Tue, Mar 20, 2018 at 2:24 PM, Karl Garrison
> wrote:
> > Does the SDL2 version of PDCurses still support using a custom font? If
> so,
> > are there any special considerations for this version? Having
> pdcfont.bmp
> > in the current directory does not work for me, nor does explicitly
> setting
> > PDC_FONT environment work.
>
> Don't know if the code has changed in the current version of PDCURSES
> from what I added when I patched it to create the SDL2 port, but I
> have the following documentation on how I modified fonts when working
> with the SDL2_TTF:
>
> Default font for SDL_TTF is assumed to be DejaVuSansMono.ttf from the Open
> Source DejaVu fonts. The code looks for this font to already be installed
> in
> a standard directory (based on the Filesystem Hierarchy Standard)
> /usr/local/share/fonts/truetype/dejavu/. This can be modified by setting
> a
> define during compile time
> ( -DPDC_FONT_PATH=/usr/share/fonts/truetype/dejavu/ ) This can be
> overridden
> by initializing pdc_ttffont in your own code. Similar to the
> PDC_FONT environment variable for SDL bitmap fonts, one can also override
> TTF
> fonts using the PDC_FONT and PDC_FONT_POINT_SIZE environment variables.
>
> The SDL2 port adds:
> SDL_Window *pdc_window;
> SDL_Renderer *pdc_render;
> SDL_Texture *pdc_texture;
> Using SDL_ttf (with SDL2 or SDL) adds:
> TTF_Font *pdc_ttffont;
> SDL_Color *pdc_ttffont_foregroundcolor;
> SDL_Color *pdc_ttffont_backgroundcolor;
> int pdc_ttffont_spointsz;
> int pdc_ttffont_hint;
> These can be used or modified in your own code. Like the pdc_screen
> variable
> used by the SDL port, you can initialize pdc_window, pdc_render,
> pdc_texture in your own code. If it's not initialized, PDCurses will do
> it for you. See the sdltest demo for an example. If PDCurses is built
> with
> the PDC_WIDE flag, it will clean up/deallocate these variables on exit when
> needed.
>
> As mentioned, use the WIDE=Y flag with the makefile if you want
> SDL2_TTF support.
>
> I use the SDL2_TTF library with both SDL 1.x and SDL 2.x. SDL2_TTF
> supports the UCS-2 character set (16 bits). If you want to work with
> the UTF-32 character set (32 bits), I have a patched version I
> modified to handle it. You can find a link to the code at:
> http://www.distasis.com/cpp/lmports.htm
>
> Last I checked, PDCURSES only supported the UCS-2 character set as
> well. (On Windows systems wchar_t is only 16 bits.) Was going to
> investigate support for 32 bits with PDCURSES at some point in the
> future.
>
> Sincerely,
> Laura
>