Beispiel #1
0
void makefonts(void) {
//    hfnt_sb = makefont(My_FontSize_s, My_FontWeight_sb,My_Font_s);
//    hfnt_s  = makefont(My_FontSize_s, My_FontWeight_s, My_Font_s);
//    fszx = zx;
//    fszy = zy;
    editw._hfnt_b = makefont(My_FontSize_n, My_FontWeight_b, My_Font);
    editw._hfnt_n = makefont(My_FontSize_n, My_FontWeight_n, My_Font);
}
Beispiel #2
0
static SFONT * loadftype( char *fname, int size, int *err)
  {
  MYFONT *res;
  FT_Face face;
  int i;

  *err = 0;
  if (!fname) { *err = -8; return NULL;}
  libinit();
  if (initerr) { *err = -99; return NULL;}

  res = makefont( MAXUNI+1);
  if (!res) { *err = -3; return NULL;}

  *err = FT_New_Face( library, fname, 0, &face ); /* create face object */
  if (*err){ res->sfont.destroy(&res->sfont); return NULL; }

  *err = FT_Set_Pixel_Sizes( face, size, size);
  if (*err){ res->sfont.destroy(&res->sfont); return NULL; }

  res->ascent = face->size->metrics.ascender/64;
  res->descent = -face->size->metrics.descender/64;
  res->height = res->ascent+res->descent; //face->size->metrics.height/64;

  res->sfont.antialiased = m_aafonts;
  res->minchar = 32;
  setglyph(res,face,0);
  for (i=32;i<127;i++) setglyph(res,face,i);
  for (i=0xa0;i<256;i++) setglyph(res,face,i);
  setglyph(res,face,0x152);
  setglyph(res,face,0x153);

  FT_Done_Face( face );

  return (SFONT *) res;
  }
Beispiel #3
0
void glk_stylehint_set(glui32 wintype, glui32 style, glui32 hint, glsi32 val)
{
    style_t *styles;
    int p, b, i;

    if (wintype == wintype_AllTypes)
    {
        glk_stylehint_set(wintype_TextGrid, style, hint, val);
        glk_stylehint_set(wintype_TextBuffer, style, hint, val);
        return;
    }

    if (wintype == wintype_TextGrid)
        styles = gli_gstyles;
    else if (wintype == wintype_TextBuffer)
        styles = gli_tstyles;
    else
        return;

    if (!gli_conf_stylehint)
        return;

    switch (hint)
    {
        case stylehint_TextColor:
            styles[style].fg[0] = (val >> 16) & 0xff;
            styles[style].fg[1] = (val >> 8) & 0xff;
            styles[style].fg[2] = (val) & 0xff;
            break;

        case stylehint_BackColor:
            styles[style].bg[0] = (val >> 16) & 0xff;
            styles[style].bg[1] = (val >> 8) & 0xff;
            styles[style].bg[2] = (val) & 0xff;
            break;

        case stylehint_ReverseColor:
            styles[style].reverse = (val != 0);
            break;

        case stylehint_Proportional:
            if (wintype == wintype_TextBuffer)
            {
                p = val > 0;
                b = isbold(styles[style].font);
                i = isitalic(styles[style].font);
                styles[style].font = makefont(p, b, i);
            }
            break;

        case stylehint_Weight:
            p = isprop(styles[style].font);
            b = val > 0;
            i = isitalic(styles[style].font);
            styles[style].font = makefont(p, b, i);
            break;

        case stylehint_Oblique:
            p = isprop(styles[style].font);
            b = isbold(styles[style].font);
            i = val > 0;
            styles[style].font = makefont(p, b, i);
            break;
    }

    if (wintype == wintype_TextBuffer &&
            style == style_Normal &&
            hint == stylehint_BackColor)
    {
        memcpy(gli_window_color, styles[style].bg, 3);
    }

    if (wintype == wintype_TextBuffer &&
            style == style_Normal &&
            hint == stylehint_TextColor)
    {
        memcpy(gli_more_color, styles[style].fg, 3);
        memcpy(gli_caret_color, styles[style].fg, 3);
    }
}