/* Copyright (C) 1997, 1998, 1999 artofcode LLC. All rights reserved. This program 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; either version 2 of the License, or (at your option) any later version. This program 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, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA, 02111-1307. */ /*$Id: zfont32.c,v 1.2.6.1.2.1 2003/01/17 00:49:06 giles Exp $ */ /* Type 32 font operators */ #include "ghost.h" #include "oper.h" #include "gsccode.h" /* for gxfont.h */ #include "gsmatrix.h" #include "gsutil.h" #include "gxfont.h" #include "bfont.h" #include "store.h" /* The encode_char procedure of a Type 32 font should never be called. */ private gs_glyph zfont_no_encode_char(gs_font *pfont, gs_char chr, gs_glyph_space_t ignored) { return gs_no_glyph; } /* .buildfont32 */ /* Build a type 32 (bitmap) font. */ private int zbuildfont32(i_ctx_t *i_ctx_p) { os_ptr op = osp; int code; build_proc_refs build; gs_font_base *pfont; check_type(*op, t_dictionary); code = build_proc_name_refs(&build, NULL, "%Type32BuildGlyph"); if (code < 0) return code; code = build_gs_simple_font(i_ctx_p, op, &pfont, ft_CID_bitmap, &st_gs_font_base, &build, bf_Encoding_optional); if (code < 0) return code; /* Always transform cached bitmaps. */ pfont->BitmapWidths = true; pfont->ExactSize = fbit_transform_bitmaps; pfont->InBetweenSize = fbit_transform_bitmaps; pfont->TransformedChar = fbit_transform_bitmaps; /* The encode_char procedure of a Type 32 font */ /* should never be called. */ pfont->procs.encode_char = zfont_no_encode_char; return define_gs_font((gs_font *) pfont); } /* ------ Initialization procedure ------ */ const op_def zfont32_op_defs[] = { {"2.buildfont32", zbuildfont32}, op_def_end(0) };