⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xlc_font_init.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
#ifndef lintstatic char SccsId[] = "  @(#)xlc_font_init.c	4.1   LPS_ULT_TRN   7/2/90";#endif/************************************************************************ *                                                                      * *      COPYRIGHT  (c)  DIGITAL  EQUIPMENT CORPORATION 1985,            * *      1986, 1989.   ALL RIGHTS RESERVED.                              * *                                                                      * *      THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE           * *      USED AND COPIED ONLY IN ACCORDANCE  WITH THE TERMS OF           * *      SUCH  LICENSE  AND  WITH  THE  INCLUSION OF THE ABOVE           * *      COPYRIGHT  NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES           * *      THEREOF   MAY  NOT  BE  PROVIDED  OR  OTHERWISE  MADE           * *      AVAILABLE  TO  ANY  OTHER  PERSON.  NO  TITLE  TO AND           * *      OWNERSHIP  OF  THE  SOFTWARE  IS  HEREBY TRANSFERRED.           * *                                                                      * *      THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE           * *      WITHOUT  NOTICE  AND SHOULD  NOT BE  CONSTRUED  AS A            * *      COMMITMENT  BY  DIGITAL EQUIPMENT CORPORATION.                  * *                                                                      * *      DIGITAL  ASSUMES  NO RESPONSIBILITY  FOR THE  USE  OR           * *      RELIABILITY  OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT           * *      SUPPLIED BY DIGITAL.                                            * ************************************************************************/#include "portab.h"#include "capdl.hc"#include "xlate.h"#include "xlc_font_dictionary.hc"#include "xlc_font_init.hc"/*****  font_init()  **************************************************** * Do any initialization required to set up for font processing.	* ************************************************************************/VOID font_init (){WORD i,j;for (i = 0; i < FIRST_DOWNLOADED_FONT; i++)  {  vax_font_table [i] .vax_active = ACTIVE;  strcpy (&vax_font_table [i] .font_file_id,           &builtin_metrics[i].bms_font_file_id [0]);  vax_font_table [i] .opposite_entry = UNUSED;  vax_font_table_box_number  [i] = builtin_metrics[i].bms_box;  vax_font_table_mapping_index [i] = builtin_metrics[i].bms_mapping_index;  vax_font_table [i] .character_weight = 16; /*  ??????? */  vax_font_table [i] .proportion_numerator= 		builtin_metrics[i].bms_prop_numerator;  vax_font_table [i] .proportion_denominator = 100;  switch (builtin_metrics[i].bms_font_size)    {    case (PT_10) :      vax_font_table [i] .above_baseline = -840 ;      vax_font_table [i] .total_height = 1152;      vax_font_table [i] .superscript_height = -576;      vax_font_table [i] .subscript_height = 576;      break ;        case (PT_6_7) :      vax_font_table [i] .above_baseline = -648 ;      vax_font_table [i] .total_height = 864;      vax_font_table [i] .superscript_height = -432;      vax_font_table [i] .subscript_height = 432;      break ;        } ;      vax_font_table [i] .average_width = builtin_metrics[i].bms_font_spacing;      vax_font_table [i] .vmin_table = builtin_metrics[i].bms_min;      vax_font_table [i] .vmax_table = builtin_metrics[i].bms_max;    superscript_height_table [i] = vax_font_table [i] .superscript_height;    subscript_height_table [i] = vax_font_table [i] .subscript_height;    height_table [i] = vax_font_table [i] .total_height;    above_baseline_table [i] = vax_font_table [i] .above_baseline;    below_baseline_table [i] = height_table [i] + above_baseline_table [i];    average_width_table [i] = vax_font_table [i] .average_width;    min_table [i] = vax_font_table [i] .vmin_table;    max_table [i] = vax_font_table [i] .vmax_table;    for (j=0; j<32 ; j++ )	{	width_table [i] [j] = 0 ;	left_bearing_table [i] [j] = 0 ;	right_bearing_table [i] [j] = 0 ;	} ;       width_table [i] [VIR_CHAR_BLOB] = builtin_metrics[i].bms_font_spacing ;    for (j=32; j< 127 ; j++ )	{	width_table [i] [j] = builtin_metrics[i].bms_font_spacing ;	left_bearing_table [i] [j] = 0 ;	right_bearing_table [i] [j] = 0 ;	} ;    width_table [i] [127] = 0 ;    left_bearing_table [i] [127] = 0 ;    right_bearing_table [i] [127] = 0 ;  }for (i = FIRST_DOWNLOADED_FONT; i < VAX_FONT_TABLE_SIZE; i++)  {  vax_font_table [i] .opposite_entry = UNUSED;  vax_font_table [i] .font_file_id.fi_type_family[0] = 0;  vax_font_table [i] .vax_active = INACTIVE;  vax_font_table_box_number  [i] = END_OF_DICTIONARY;  vax_font_table [i] .character_weight = 0;  vax_font_table [i] .proportion_numerator= 0;  vax_font_table [i] .proportion_denominator= 0;  vax_font_table [i] .above_baseline = 0;  vax_font_table [i] .total_height = 0;  vax_font_table [i] .superscript_height = 0;  vax_font_table [i] .subscript_height = 0;  vax_font_table [i] .average_width = 0;  vax_font_table [i] .vmin_table = 0;  vax_font_table [i] .vmax_table = 0;    superscript_height_table [i] = 0 ;    subscript_height_table [i] = 0 ;    height_table [i] = 0 ;    above_baseline_table [i] = 0 ;    below_baseline_table [i] = 0 ;    average_width_table [i] = 0 ;    min_table [i] = 0 ;    max_table [i] = 0 ;    for (j=0; j< NUMBER_OF_7_BIT_CHARACTERS; j++ )	{	width_table [i] [j] = 0 ;	left_bearing_table [i] [j] = 0 ;	right_bearing_table [i] [j] = 0 ;	} ;  }for (i = 0; i < VAX_FONT_TABLE_SIZE; i++)  {  vax_font_table [i] .space_width = 0;  vax_font_table [i] .ul_thickness = 0;  vax_font_table [i] .ul_offset = 0;  vax_font_table [i] .ol_thickness = 0;  vax_font_table [i] .ol_offset = 0;  vax_font_table [i] .strikethru_thickness = 0;  vax_font_table [i] .strikethru_offset = 0;  vax_font_table [i] .virtual_memory_needs = 0;  vax_font_table [i] .bitmaps_ptr = 0;  }init_paired_char_set_table ();font_pairs();}  /* end of font_init *//*****  init_paired_char_set_table() ************************************ * Init Paired Char Set Table						* ************************************************************************/init_paired_char_set_table (){WORD	i;	/* for-loop index */WORD	j;	/* for-loop index */WORD	paired_charset;for ( i = 0; i < FIRST_DOWNLOADED_FONT; )  {  vax_font_table [i++] .opposite_entry = j + 2;  vax_font_table [i++] .opposite_entry = j + 3;  vax_font_table [i++] .opposite_entry = j;  vax_font_table [i++] .opposite_entry = j + 1;if (i < 24)    {      vax_font_table [i++] .opposite_entry = j;      vax_font_table [i++] .opposite_entry = j + 1;    } ;  }for (i = FIRST_DOWNLOADED_FONT; i < VAX_FONT_TABLE_SIZE; )  {  vax_font_table [i] .vax_active = INACTIVE;  vax_font_table [i++] .opposite_entry = UNUSED;  }}  /* end of init_paired_char_set_table */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -