netsurf/framebuffer/font_internal.h
Michael Drake 4cbc56ebc1 Add Unicode support to internal font.
+ Now contains more glpyhs (was previously limited to cp-1252).
  + When a glyph is unavailable, the codepoint is now rendered.
  + Added glyph data file.
  + Added converter to generate the font's .c file from the data.

TODO:

  The generated file is currently checked into the repo, but it
  should be generated as part of the build process, in the
  build-* directory.

  To update the generated source file, first build the converter:

      $ gcc -O2 -Wall framebuffer/convert_font.c -lm \
          -o build-Linux-framebuffer/tools/convert_font

  And then use it to generate the souce file:

      $ build-Linux-framebuffer/tools/convert_font \
         framebuffer/res/fonts/glyph_data \
         framebuffer/GEN_font_internal.c -v

  The converter's usage is:

     convert_font [options] <in_file> <out_file>

  See convert_font --help for more details.
2014-05-06 21:31:05 +01:00

44 lines
1.2 KiB
C

/*
* Copyright 2008 Vincent Sanders <vince@simtec.co.uk>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
* NetSurf is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* NetSurf is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef NETSURF_FB_FONT_INTERNAL_H
#define NETSURF_FB_FONT_INTERNAL_H
struct fb_font_desc {
const char *name;
int width, height, pitch;
};
#define FB_FONT_WIDTH 8
#define FB_FONT_HEIGHT 16
#define FB_FONT_PITCH 8
enum fb_font_style {
FB_REGULAR = 0,
FB_ITALIC = (1 << 0),
FB_BOLD = (1 << 1),
FB_BOLD_ITALIC = (FB_ITALIC | FB_BOLD)
};
enum fb_font_style fb_get_font_style(const plot_font_style_t *fstyle);
const uint8_t * fb_get_glyph(uint32_t ucs4, enum fb_font_style style);
#endif /* NETSURF_FB_FONT_INTERNAL_H */