Lines Matching refs:pFont
82 static Bool bdfPadToTerminal(FontPtr pFont);
225 bdfFreeFontBits(FontPtr pFont)
227 BitmapFontPtr bitmapFont = (BitmapFontPtr) pFont->fontPrivate;
232 int nencoding = (pFont->info.lastCol - pFont->info.firstCol + 1) *
233 (pFont->info.lastRow - pFont->info.firstRow + 1);
246 free(pFont->info.props);
251 bdfReadCharacters(FontFilePtr file, FontPtr pFont, bdfFileState *pState,
266 bitmapFont = (BitmapFontPtr) pFont->fontPrivate;
321 pFont->info.firstRow = 256;
322 pFont->info.lastRow = 0;
323 pFont->info.firstCol = 256;
324 pFont->info.lastCol = 0;
371 if (char_row < pFont->info.firstRow)
372 pFont->info.firstRow = char_row;
373 if (char_row > pFont->info.lastRow)
374 pFont->info.lastRow = char_row;
375 if (char_col < pFont->info.firstCol)
376 pFont->info.firstCol = char_col;
377 if (char_col > pFont->info.lastCol)
378 pFont->info.lastCol = char_col;
509 nencoding = (pFont->info.lastRow - pFont->info.firstRow + 1) *
510 (pFont->info.lastCol - pFont->info.firstCol + 1);
518 pFont->info.allExist = TRUE;
520 for (char_row = pFont->info.firstRow;
521 char_row <= pFont->info.lastRow; char_row++) {
523 pFont->info.allExist = FALSE;
524 i += pFont->info.lastCol - pFont->info.firstCol + 1;
527 for (char_col = pFont->info.firstCol;
528 char_col <= pFont->info.lastCol; char_col++) {
530 pFont->info.allExist = FALSE;
609 bdfReadProperties(FontFilePtr file, FontPtr pFont, bdfFileState * pState)
617 BitmapFontPtr bitmapFont = (BitmapFontPtr) pFont->fontPrivate;
631 pFont->info.isStringProp = NULL;
632 pFont->info.props = NULL;
633 pFont->info.nprops = 0;
636 pFont->info.isStringProp = stringProps;
642 pFont->info.props = props = calloc(nProps + BDF_GENPROPS,
715 if (!bdfSpecialProperty(pFont, &props[nextProp],
730 bitmapFont->bitmapExtra->info.fontAscent = pFont->info.fontAscent;
731 bitmapFont->bitmapExtra->info.fontDescent = pFont->info.fontDescent;
791 pFont->info.nprops = nextProp;
794 if (pFont->info.isStringProp) {
795 free(pFont->info.isStringProp);
796 pFont->info.isStringProp = NULL;
798 if (pFont->info.props) {
799 free(pFont->info.props);
800 pFont->info.props = NULL;
810 bdfUnloadFont(FontPtr pFont)
812 bdfFreeFontBits(pFont);
813 DestroyFontRec(pFont);
817 bdfReadFont(FontPtr pFont, FontFilePtr file,
824 pFont->fontPrivate = 0;
839 pFont->fontPrivate = (pointer) bitmapFont;
856 if (!bdfReadProperties(file, pFont, &state))
859 if (!bdfReadCharacters(file, pFont, &state, bit, byte, glyph, scan))
865 r = pFont->info.defaultCh >> 8;
866 c = pFont->info.defaultCh & 0xFF;
867 if (pFont->info.firstRow <= r && r <= pFont->info.lastRow &&
868 pFont->info.firstCol <= c && c <= pFont->info.lastCol) {
869 unsigned int cols = pFont->info.lastCol - pFont->info.firstCol + 1;
870 r = r - pFont->info.firstRow;
871 c = c - pFont->info.firstCol;
876 pFont->bit = bit;
877 pFont->byte = byte;
878 pFont->glyph = glyph;
879 pFont->scan = scan;
880 pFont->info.anamorphic = FALSE;
881 pFont->info.cachable = TRUE;
882 bitmapComputeFontBounds(pFont);
883 if (FontCouldBeTerminal(&pFont->info)) {
884 bdfPadToTerminal(pFont);
885 bitmapComputeFontBounds(pFont);
887 FontComputeInfoAccelerators(&pFont->info);
890 if (pFont->info.constantMetrics) {
891 if (!bitmapAddInkMetrics(pFont)) {
897 bitmapFont->bitmapExtra->info.inkMetrics = pFont->info.inkMetrics;
899 bitmapComputeFontInkBounds(pFont);
900 /* ComputeFontAccelerators (pFont); */
903 min = &pFont->info.ink_minbounds;
904 max = &pFont->info.ink_maxbounds;
915 state.weightProp->value = bitmapComputeWeight(pFont);
917 pFont->get_glyphs = bitmapGetGlyphs;
918 pFont->get_metrics = bitmapGetMetrics;
919 pFont->unload_font = bdfUnloadFont;
920 pFont->unload_glyphs = NULL;
923 if (pFont->fontPrivate)
924 bdfFreeFontBits(pFont);
929 bdfPadToTerminal(FontPtr pFont)
936 bitmapFont = (BitmapFontPtr) pFont->fontPrivate;
939 new.metrics.ascent = pFont->info.fontAscent;
940 new.metrics.descent = pFont->info.fontDescent;
942 new.metrics.rightSideBearing = pFont->info.minbounds.characterWidth;
944 new_size = BYTES_FOR_GLYPH(&new, pFont->glyph);
952 FontCharReshape(pFont, &bitmapFont->metrics[i], &new);