/* Copyright (C) 1989, 1990 Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.uucp)
This file is part of groff.
groff 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 1, or (at your option) any later
groff 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
You should have received a copy of the GNU General Public License along
with groff; see the file LICENSE. If not, write to the Free Software
Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
void guess(const char *s
, const font_params
¶m
, char_metric
*metric
)
int &height
= metric
->height
;
int &depth
= metric
->depth
;
if (s
[0] == '\0' || (s
[1] != '\0' && s
[2] != '\0'))
#define HASH(c1, c2) (((unsigned char)(c1) << 8) | (unsigned char)(c2))
switch (HASH(s
[0], s
[1])) {
depth
= param
.desc_depth
;
height
= param
.asc_height
;
// these have zero height and depth
height
= param
.asc_height
;
depth
= param
.desc_depth
;
height
= param
.asc_height
;
height
= param
.asc_height
;
depth
= param
.desc_depth
;
depth
= param
.desc_depth
;
height
= param
.cap_height
;
height
= param
.cap_height
;
height
= param
.fig_height
;
height
= param
.body_height
;
depth
= param
.body_depth
;
height
= param
.asc_height
;
depth
= param
.desc_depth
;
height
= param
.asc_height
;
depth
= param
.desc_depth
;
depth
= param
.desc_depth
;
height
= param
.asc_height
;
height
= param
.asc_height
;
height
= param
.asc_height
;
depth
= param
.comma_depth
;
depth
= param
.comma_depth
;
height
= param
.asc_height
;
height
= param
.asc_height
;