1346 lines
34 KiB
C
1346 lines
34 KiB
C
/*
|
|
* CDE - Common Desktop Environment
|
|
*
|
|
* (c) Copyright 1993-2012 The Open Group
|
|
* (c) Copyright 2012-2022 CDE Project contributors, see
|
|
* CONTRIBUTORS for details
|
|
*
|
|
* These libraries and programs are free software; you can
|
|
* redistribute them and/or modify them under the terms of the GNU
|
|
* Lesser General Public License as published by the Free Software
|
|
* Foundation; either version 2 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* These libraries and programs are distributed in the hope that
|
|
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
* PURPOSE. See the GNU Lesser General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with these libraries and programs; if not, write
|
|
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
* Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#include <stdbool.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
#define IFACE_FAL_SIZE 7
|
|
#define APP_FAL_SIZE 12
|
|
|
|
struct xlfd_t {
|
|
char *fndry;
|
|
char *fmly;
|
|
char *wght;
|
|
char *slant;
|
|
char *swdth;
|
|
char *adstyl;
|
|
char *pxlsz;
|
|
char *ptsz;
|
|
char *resx;
|
|
char *resy;
|
|
char *spc;
|
|
char *avgwdth;
|
|
char *rgstry;
|
|
char *encdng;
|
|
};
|
|
|
|
struct font_alias_t {
|
|
struct xlfd_t *font, *alias;
|
|
};
|
|
|
|
struct xlfd_t iface_font_xxs;
|
|
struct xlfd_t iface_font_xs;
|
|
struct xlfd_t iface_font_s;
|
|
struct xlfd_t iface_font_m;
|
|
struct xlfd_t iface_font_l;
|
|
struct xlfd_t iface_font_xl;
|
|
struct xlfd_t iface_font_xxl;
|
|
|
|
struct xlfd_t iface_alias_xxs;
|
|
struct xlfd_t iface_alias_xs;
|
|
struct xlfd_t iface_alias_s;
|
|
struct xlfd_t iface_alias_m;
|
|
struct xlfd_t iface_alias_l;
|
|
struct xlfd_t iface_alias_xl;
|
|
struct xlfd_t iface_alias_xxl;
|
|
|
|
struct font_alias_t iface_fal[IFACE_FAL_SIZE] = {
|
|
{&iface_font_xxs, &iface_alias_xxs},
|
|
{&iface_font_xs, &iface_alias_xs},
|
|
{&iface_font_s, &iface_alias_s},
|
|
{&iface_font_m, &iface_alias_m},
|
|
{&iface_font_l, &iface_alias_l},
|
|
{&iface_font_xl, &iface_alias_xl},
|
|
{&iface_font_xxl, &iface_alias_xxl}
|
|
};
|
|
|
|
enum app_adstyl_spc_t {SANS_P, SERIF_M, SERIF_P};
|
|
struct xlfd_t app_font[APP_FAL_SIZE], app_alias[APP_FAL_SIZE];
|
|
struct font_alias_t app_fal[APP_FAL_SIZE];
|
|
|
|
static void print_xlfd(struct xlfd_t *pxlfd) {
|
|
fprintf(stdout, "\"-%s-%s-%s-%s-%s-%s-%s-%s-%s-%s-%s-%s-%s-%s\"",
|
|
pxlfd->fndry,
|
|
pxlfd->fmly,
|
|
pxlfd->wght,
|
|
pxlfd->slant,
|
|
pxlfd->swdth,
|
|
pxlfd->adstyl,
|
|
pxlfd->pxlsz,
|
|
pxlfd->ptsz,
|
|
pxlfd->resx,
|
|
pxlfd->resy,
|
|
pxlfd->spc,
|
|
pxlfd->avgwdth,
|
|
pxlfd->rgstry,
|
|
pxlfd->encdng);
|
|
}
|
|
|
|
static void print_font_alias(struct font_alias_t *pfa) {
|
|
print_xlfd(pfa->alias); fprintf(stdout, " ");
|
|
print_xlfd(pfa->font); fprintf(stdout, "\n");
|
|
}
|
|
|
|
static void iface_iso8859(bool is_user, bool is_bold) {
|
|
for (int i = 0; i < IFACE_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &iface_fal[i];
|
|
|
|
memset(pfa->font, 0, sizeof(struct xlfd_t));
|
|
memset(pfa->alias, 0, sizeof(struct xlfd_t));
|
|
|
|
pfa->font->fndry = "misc";
|
|
pfa->font->fmly = "fixed";
|
|
pfa->font->wght = "medium";
|
|
pfa->font->slant = "r";
|
|
pfa->font->swdth = "normal";
|
|
pfa->font->adstyl = "";
|
|
pfa->font->resx =
|
|
pfa->font->resy = "75";
|
|
pfa->font->spc = "c";
|
|
pfa->font->rgstry = "iso8859";
|
|
|
|
pfa->alias->fndry = "dt";
|
|
pfa->alias->fmly = is_user ? "interface user" : "interface system";
|
|
pfa->alias->wght = is_bold ? "bold" : "medium";
|
|
pfa->alias->spc = "m";
|
|
}
|
|
|
|
if (is_bold) {
|
|
iface_font_s.wght =
|
|
iface_font_m.wght =
|
|
iface_font_l.wght =
|
|
iface_font_xl.wght = "bold";
|
|
}
|
|
|
|
iface_alias_xxs.adstyl = "xxs sans";
|
|
iface_alias_xs.adstyl = "xs sans";
|
|
iface_alias_s.adstyl = "s sans";
|
|
iface_alias_m.adstyl = "m sans";
|
|
iface_alias_l.adstyl = "l sans";
|
|
iface_alias_xl.adstyl = "xl sans";
|
|
iface_alias_xxl.adstyl = "xxl sans";
|
|
|
|
iface_font_xxs.pxlsz = "9";
|
|
iface_font_xxs.ptsz = "90";
|
|
iface_font_xxs.avgwdth = "60";
|
|
|
|
iface_font_xs.pxlsz = "10";
|
|
iface_font_xs.ptsz = "100";
|
|
iface_font_xs.avgwdth = "60";
|
|
|
|
iface_font_s.pxlsz = "13";
|
|
iface_font_s.ptsz = "120";
|
|
iface_font_s.avgwdth = "70";
|
|
|
|
iface_font_m.pxlsz = "14";
|
|
iface_font_m.ptsz = "130";
|
|
iface_font_m.avgwdth = "70";
|
|
|
|
iface_font_l.pxlsz = "15";
|
|
iface_font_l.ptsz = "140";
|
|
iface_font_l.avgwdth = "90";
|
|
|
|
iface_font_xl.pxlsz = "18";
|
|
iface_font_xl.ptsz = "120";
|
|
iface_font_xl.resx = "100";
|
|
iface_font_xl.resy = "100";
|
|
iface_font_xl.avgwdth = "90";
|
|
|
|
iface_font_xxl.pxlsz = "20";
|
|
iface_font_xxl.ptsz = "200";
|
|
iface_font_xxl.avgwdth = "100";
|
|
|
|
for (int i = 0; i < IFACE_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &iface_fal[i];
|
|
|
|
pfa->alias->slant = pfa->font->slant;
|
|
pfa->alias->swdth = pfa->font->swdth;
|
|
pfa->alias->pxlsz = pfa->font->pxlsz;
|
|
pfa->alias->ptsz = pfa->font->ptsz;
|
|
pfa->alias->resx = pfa->font->resx;
|
|
pfa->alias->resy = pfa->font->resy;
|
|
pfa->alias->avgwdth = pfa->font->avgwdth;
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
}
|
|
}
|
|
|
|
static void iface_iso8859_11(bool is_user, bool is_bold) {
|
|
iface_iso8859(is_user, is_bold);
|
|
|
|
iface_font_xxs.pxlsz =
|
|
iface_font_xs.pxlsz = iface_font_s.pxlsz;
|
|
|
|
iface_font_xxs.ptsz =
|
|
iface_font_xs.ptsz = iface_font_s.ptsz;
|
|
|
|
iface_font_xxs.avgwdth =
|
|
iface_font_xs.avgwdth = iface_font_s.avgwdth;
|
|
|
|
iface_font_xl.wght = "medium";
|
|
}
|
|
|
|
static void iface_koi8_r(bool is_user, bool is_bold) {
|
|
iface_iso8859(is_user, is_bold);
|
|
|
|
for (int i = 0; i < IFACE_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &iface_fal[i];
|
|
|
|
pfa->font->wght = "medium";
|
|
pfa->font->rgstry = "koi8";
|
|
pfa->font->encdng = "r";
|
|
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
pfa->alias->encdng = pfa->font->encdng;
|
|
}
|
|
}
|
|
|
|
static void iface_jisx0201_1976_0(bool is_user, bool is_bold) {
|
|
iface_iso8859(is_user, is_bold);
|
|
|
|
for (int i = 0; i < IFACE_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &iface_fal[i];
|
|
|
|
pfa->font->wght = "medium";
|
|
pfa->font->pxlsz = "14";
|
|
pfa->font->ptsz = "130";
|
|
pfa->font->resx =
|
|
pfa->font->resy = "75";
|
|
pfa->font->avgwdth = "70";
|
|
pfa->font->rgstry = "jisx0201.1976";
|
|
pfa->font->encdng = "0";
|
|
|
|
pfa->alias->pxlsz = pfa->font->pxlsz;
|
|
pfa->alias->ptsz = pfa->font->ptsz;
|
|
pfa->alias->resx = pfa->font->resx;
|
|
pfa->alias->resy = pfa->font->resy;
|
|
pfa->alias->avgwdth = pfa->font->avgwdth;
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
pfa->alias->encdng = pfa->font->encdng;
|
|
}
|
|
}
|
|
|
|
static void iface_jisx0208_1983_0(bool is_user, bool is_bold) {
|
|
iface_jisx0201_1976_0(is_user, is_bold);
|
|
|
|
for (int i = 0; i < IFACE_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &iface_fal[i];
|
|
|
|
pfa->font->fndry = "jis";
|
|
pfa->font->pxlsz = "16";
|
|
pfa->font->ptsz = "150";
|
|
pfa->font->avgwdth = "160";
|
|
pfa->font->rgstry = "jisx0208.1983";
|
|
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
}
|
|
|
|
iface_font_xxs.fndry =
|
|
iface_font_xs.fndry =
|
|
iface_font_s.fndry = "misc";
|
|
|
|
iface_font_xxs.pxlsz =
|
|
iface_font_xs.pxlsz =
|
|
iface_font_s.pxlsz = "14";
|
|
|
|
iface_font_xxs.ptsz =
|
|
iface_font_xs.ptsz =
|
|
iface_font_s.ptsz = "130";
|
|
|
|
iface_font_xxs.avgwdth =
|
|
iface_font_xs.avgwdth =
|
|
iface_font_s.avgwdth = "140";
|
|
|
|
iface_font_xxl.pxlsz = "24";
|
|
iface_font_xxl.ptsz = "230";
|
|
iface_font_xxl.avgwdth = "240";
|
|
}
|
|
|
|
static void iface_ksc5601_1987_0(bool is_user, bool is_bold) {
|
|
iface_iso8859(is_user, is_bold);
|
|
|
|
for (int i = 0; i < IFACE_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &iface_fal[i];
|
|
|
|
pfa->font->fndry = "daewoo";
|
|
pfa->font->fmly = is_bold ? "mincho" : "gothic";
|
|
pfa->font->wght = "medium";
|
|
pfa->font->pxlsz = "16";
|
|
pfa->font->ptsz = "120";
|
|
pfa->font->resx =
|
|
pfa->font->resy = "100";
|
|
pfa->font->avgwdth = "160";
|
|
pfa->font->rgstry = "ksc5601.1987";
|
|
pfa->font->encdng = "0";
|
|
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
pfa->alias->encdng = pfa->font->encdng;
|
|
}
|
|
|
|
iface_font_xxl.fmly = "mincho";
|
|
iface_font_xxl.pxlsz = "24";
|
|
iface_font_xxl.ptsz = "170";
|
|
iface_font_xxl.avgwdth = "240";
|
|
}
|
|
|
|
static void iface_gb2312_1980_0(bool is_user, bool is_bold) {
|
|
iface_iso8859(is_user, is_bold);
|
|
|
|
for (int i = 0; i < IFACE_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &iface_fal[i];
|
|
|
|
pfa->font->fndry = "isas";
|
|
pfa->font->fmly = is_bold ? "song ti" : "fangsong ti";
|
|
pfa->font->wght = "medium";
|
|
pfa->font->pxlsz = "16";
|
|
pfa->font->ptsz = "160";
|
|
pfa->font->resx =
|
|
pfa->font->resy = "72";
|
|
pfa->font->avgwdth = "160";
|
|
pfa->font->rgstry = "gb2312.1980";
|
|
pfa->font->encdng = "0";
|
|
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
pfa->alias->encdng = pfa->font->encdng;
|
|
}
|
|
|
|
iface_font_xxl.fmly = "song ti";
|
|
iface_font_xxl.pxlsz = "24";
|
|
iface_font_xxl.ptsz = "240";
|
|
iface_font_xxl.avgwdth = "240";
|
|
}
|
|
|
|
static void print_iface(void (*fiface)(bool, bool), char *encdng) {
|
|
for (int i = 0; i < 2; ++i) {
|
|
for (int j = 0; j < 2; ++j) {
|
|
fiface(i, j);
|
|
|
|
for (int k = 0; k < IFACE_FAL_SIZE; ++k) {
|
|
struct font_alias_t *pfa = &iface_fal[k];
|
|
pfa->alias->encdng = pfa->font->encdng = encdng;
|
|
print_font_alias(pfa);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
static void print_iface_iso8859(char *encdng) {
|
|
print_iface(iface_iso8859, encdng);
|
|
}
|
|
|
|
static void print_iface_iso8859_11(void) {
|
|
print_iface(iface_iso8859_11, "11");
|
|
}
|
|
|
|
static void print_iface_koi8_r(void) {
|
|
print_iface(iface_koi8_r, "r");
|
|
}
|
|
|
|
static void print_iface_jisx0201_1976_0(void) {
|
|
print_iface(iface_jisx0201_1976_0, "0");
|
|
}
|
|
|
|
static void print_iface_jisx0208_1983_0(void) {
|
|
print_iface(iface_jisx0208_1983_0, "0");
|
|
}
|
|
|
|
static void print_iface_ksc5601_1987_0(void) {
|
|
print_iface(iface_ksc5601_1987_0, "0");
|
|
}
|
|
|
|
static void print_iface_gb2312_1980_0(void) {
|
|
print_iface(iface_gb2312_1980_0, "0");
|
|
}
|
|
|
|
static void app_iso8859_full(enum app_adstyl_spc_t adstyl_spc, bool is_bold,
|
|
bool is_italic)
|
|
{
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
memset(pfa->font, 0, sizeof(struct xlfd_t));
|
|
memset(pfa->alias, 0, sizeof(struct xlfd_t));
|
|
|
|
pfa->font->swdth = "normal";
|
|
pfa->font->adstyl = "";
|
|
pfa->font->resx =
|
|
pfa->font->resy = i % 2 ? "100" : "75";
|
|
pfa->font->rgstry = "iso8859";
|
|
|
|
pfa->alias->fndry = "dt";
|
|
pfa->alias->fmly = "application";
|
|
}
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->fndry = "adobe";
|
|
pfa->font->fmly = "courier";
|
|
pfa->font->wght = is_bold ? "bold" : "medium";
|
|
pfa->font->slant = is_italic ? "o" : "r";
|
|
pfa->font->spc = "m";
|
|
|
|
pfa->alias->slant = is_italic ? "i" : "r";
|
|
pfa->alias->adstyl = "serif";
|
|
|
|
switch (i) {
|
|
case 0:
|
|
pfa->font->pxlsz = "8";
|
|
pfa->font->ptsz = "80";
|
|
pfa->font->avgwdth = "50";
|
|
break;
|
|
|
|
case 2:
|
|
pfa->font->pxlsz = "10";
|
|
pfa->font->ptsz = "100";
|
|
pfa->font->avgwdth = "60";
|
|
break;
|
|
|
|
case 4:
|
|
pfa->font->pxlsz = "12";
|
|
pfa->font->ptsz = "120";
|
|
pfa->font->avgwdth = "70";
|
|
break;
|
|
|
|
case 6:
|
|
pfa->font->pxlsz = "14";
|
|
pfa->font->ptsz = "140";
|
|
pfa->font->avgwdth = "90";
|
|
break;
|
|
|
|
case 8:
|
|
pfa->font->pxlsz = "18";
|
|
pfa->font->ptsz = "180";
|
|
pfa->font->avgwdth = "110";
|
|
break;
|
|
|
|
case 10:
|
|
pfa->font->pxlsz = "24";
|
|
pfa->font->ptsz = "240";
|
|
pfa->font->avgwdth = "150";
|
|
break;
|
|
|
|
case 1:
|
|
pfa->font->pxlsz = "11";
|
|
pfa->font->ptsz = "80";
|
|
pfa->font->avgwdth = "60";
|
|
break;
|
|
|
|
case 3:
|
|
pfa->font->pxlsz = "14";
|
|
pfa->font->ptsz = "100";
|
|
pfa->font->avgwdth = "90";
|
|
break;
|
|
|
|
case 5:
|
|
pfa->font->pxlsz = "17";
|
|
pfa->font->ptsz = "120";
|
|
pfa->font->avgwdth = "100";
|
|
break;
|
|
|
|
case 7:
|
|
pfa->font->pxlsz = "20";
|
|
pfa->font->ptsz = "140";
|
|
pfa->font->avgwdth = "110";
|
|
break;
|
|
|
|
case 9:
|
|
pfa->font->pxlsz = "25";
|
|
pfa->font->ptsz = "180";
|
|
pfa->font->avgwdth = "150";
|
|
break;
|
|
|
|
case 11:
|
|
pfa->font->pxlsz = "34";
|
|
pfa->font->ptsz = "240";
|
|
pfa->font->avgwdth = "200";
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (adstyl_spc == SERIF_M) goto done;
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->fndry = "adobe";
|
|
pfa->font->fmly = "helvetica";
|
|
pfa->font->wght = "medium";
|
|
pfa->font->slant = "r";
|
|
pfa->font->spc = "p";
|
|
|
|
pfa->alias->slant = pfa->font->slant;
|
|
pfa->alias->adstyl = "sans";
|
|
|
|
switch (i) {
|
|
case 0:
|
|
pfa->font->pxlsz = "8";
|
|
pfa->font->ptsz = "80";
|
|
pfa->font->avgwdth = "46";
|
|
break;
|
|
|
|
case 2:
|
|
pfa->font->pxlsz = "10";
|
|
pfa->font->ptsz = "100";
|
|
pfa->font->avgwdth = "56";
|
|
break;
|
|
|
|
case 4:
|
|
pfa->font->pxlsz = "12";
|
|
pfa->font->ptsz = "120";
|
|
pfa->font->avgwdth = "67";
|
|
break;
|
|
|
|
case 6:
|
|
pfa->font->pxlsz = "14";
|
|
pfa->font->ptsz = "140";
|
|
pfa->font->avgwdth = "77";
|
|
break;
|
|
|
|
case 8:
|
|
pfa->font->pxlsz = "18";
|
|
pfa->font->ptsz = "180";
|
|
pfa->font->avgwdth = "98";
|
|
break;
|
|
|
|
case 10:
|
|
pfa->font->pxlsz = "24";
|
|
pfa->font->ptsz = "240";
|
|
pfa->font->avgwdth = "130";
|
|
break;
|
|
|
|
case 1:
|
|
pfa->font->pxlsz = "11";
|
|
pfa->font->ptsz = "80";
|
|
pfa->font->avgwdth = "56";
|
|
break;
|
|
|
|
case 3:
|
|
pfa->font->pxlsz = "14";
|
|
pfa->font->ptsz = "100";
|
|
pfa->font->avgwdth = "76";
|
|
break;
|
|
|
|
case 5:
|
|
pfa->font->pxlsz = "17";
|
|
pfa->font->ptsz = "120";
|
|
pfa->font->avgwdth = "88";
|
|
break;
|
|
|
|
case 7:
|
|
pfa->font->pxlsz = "20";
|
|
pfa->font->ptsz = "140";
|
|
pfa->font->avgwdth = "100";
|
|
break;
|
|
|
|
case 9:
|
|
pfa->font->pxlsz = "25";
|
|
pfa->font->ptsz = "180";
|
|
pfa->font->avgwdth = "130";
|
|
break;
|
|
|
|
case 11:
|
|
pfa->font->pxlsz = "34";
|
|
pfa->font->ptsz = "240";
|
|
pfa->font->avgwdth = "176";
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (adstyl_spc == SANS_P && !is_bold && !is_italic) goto done;
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->slant = "o";
|
|
|
|
pfa->alias->slant = "i";
|
|
|
|
switch (i) {
|
|
case 0: pfa->font->avgwdth = "47"; break;
|
|
case 2: pfa->font->avgwdth = "57"; break;
|
|
case 4: pfa->font->avgwdth = "67"; break;
|
|
case 6: pfa->font->avgwdth = "78"; break;
|
|
case 8: pfa->font->avgwdth = "98"; break;
|
|
case 10: pfa->font->avgwdth = "130"; break;
|
|
|
|
case 1: pfa->font->avgwdth = "57"; break;
|
|
case 3: pfa->font->avgwdth = "78"; break;
|
|
case 5: pfa->font->avgwdth = "88"; break;
|
|
case 7: pfa->font->avgwdth = "98"; break;
|
|
case 9: pfa->font->avgwdth = "130"; break;
|
|
case 11: pfa->font->avgwdth = "176"; break;
|
|
}
|
|
}
|
|
|
|
if (adstyl_spc == SANS_P && !is_bold && is_italic) goto done;
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->wght = "bold";
|
|
pfa->font->slant = "r";
|
|
|
|
pfa->alias->slant = pfa->font->slant;
|
|
|
|
switch (i) {
|
|
case 0: pfa->font->avgwdth = "50"; break;
|
|
case 2: pfa->font->avgwdth = "60"; break;
|
|
case 4: pfa->font->avgwdth = "70"; break;
|
|
case 6: pfa->font->avgwdth = "82"; break;
|
|
case 8: pfa->font->avgwdth = "103"; break;
|
|
case 10: pfa->font->avgwdth = "138"; break;
|
|
|
|
case 1: pfa->font->avgwdth = "60"; break;
|
|
case 3: pfa->font->avgwdth = "82"; break;
|
|
case 5: pfa->font->avgwdth = "92"; break;
|
|
case 7: pfa->font->avgwdth = "105"; break;
|
|
case 9: pfa->font->avgwdth = "138"; break;
|
|
case 11: pfa->font->avgwdth = "182"; break;
|
|
}
|
|
}
|
|
|
|
if (adstyl_spc == SANS_P && is_bold && !is_italic) goto done;
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->slant = "o";
|
|
|
|
pfa->alias->slant = "i";
|
|
|
|
switch (i) {
|
|
case 0: pfa->font->avgwdth = "50"; break;
|
|
case 2: pfa->font->avgwdth = "60"; break;
|
|
case 4: pfa->font->avgwdth = "69"; break;
|
|
case 6: pfa->font->avgwdth = "82"; break;
|
|
case 8: pfa->font->avgwdth = "104"; break;
|
|
case 10: pfa->font->avgwdth = "138"; break;
|
|
|
|
case 1: pfa->font->avgwdth = "60"; break;
|
|
case 3: pfa->font->avgwdth = "82"; break;
|
|
case 5: pfa->font->avgwdth = "92"; break;
|
|
case 7: pfa->font->avgwdth = "103"; break;
|
|
case 9: pfa->font->avgwdth = "138"; break;
|
|
case 11: pfa->font->avgwdth = "182"; break;
|
|
}
|
|
}
|
|
|
|
if (adstyl_spc == SANS_P && is_bold && is_italic) goto done;
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->fndry = "adobe";
|
|
pfa->font->fmly = "times";
|
|
pfa->font->wght = "medium";
|
|
pfa->font->slant = "r";
|
|
pfa->font->spc = "p";
|
|
|
|
pfa->alias->slant = pfa->font->slant;
|
|
pfa->alias->adstyl = "serif";
|
|
|
|
switch (i) {
|
|
case 0:
|
|
pfa->font->pxlsz = "8";
|
|
pfa->font->ptsz = "80";
|
|
pfa->font->avgwdth = "44";
|
|
break;
|
|
|
|
case 2:
|
|
pfa->font->pxlsz = "10";
|
|
pfa->font->ptsz = "100";
|
|
pfa->font->avgwdth = "54";
|
|
break;
|
|
|
|
case 4:
|
|
pfa->font->pxlsz = "12";
|
|
pfa->font->ptsz = "120";
|
|
pfa->font->avgwdth = "64";
|
|
break;
|
|
|
|
case 6:
|
|
pfa->font->pxlsz = "14";
|
|
pfa->font->ptsz = "140";
|
|
pfa->font->avgwdth = "74";
|
|
break;
|
|
|
|
case 8:
|
|
pfa->font->pxlsz = "18";
|
|
pfa->font->ptsz = "180";
|
|
pfa->font->avgwdth = "94";
|
|
break;
|
|
|
|
case 10:
|
|
pfa->font->pxlsz = "24";
|
|
pfa->font->ptsz = "240";
|
|
pfa->font->avgwdth = "124";
|
|
break;
|
|
|
|
case 1:
|
|
pfa->font->pxlsz = "11";
|
|
pfa->font->ptsz = "80";
|
|
pfa->font->avgwdth = "54";
|
|
break;
|
|
|
|
case 3:
|
|
pfa->font->pxlsz = "14";
|
|
pfa->font->ptsz = "100";
|
|
pfa->font->avgwdth = "74";
|
|
break;
|
|
|
|
case 5:
|
|
pfa->font->pxlsz = "17";
|
|
pfa->font->ptsz = "120";
|
|
pfa->font->avgwdth = "84";
|
|
break;
|
|
|
|
case 7:
|
|
pfa->font->pxlsz = "20";
|
|
pfa->font->ptsz = "140";
|
|
pfa->font->avgwdth = "96";
|
|
break;
|
|
|
|
case 9:
|
|
pfa->font->pxlsz = "25";
|
|
pfa->font->ptsz = "180";
|
|
pfa->font->avgwdth = "125";
|
|
break;
|
|
|
|
case 11:
|
|
pfa->font->pxlsz = "34";
|
|
pfa->font->ptsz = "240";
|
|
pfa->font->avgwdth = "170";
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (adstyl_spc == SERIF_P && !is_bold && !is_italic) goto done;
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->slant = "i";
|
|
|
|
pfa->alias->slant = pfa->font->slant;
|
|
|
|
switch (i) {
|
|
case 0: pfa->font->avgwdth = "42"; break;
|
|
case 2: pfa->font->avgwdth = "52"; break;
|
|
case 4: pfa->font->avgwdth = "63"; break;
|
|
case 6: pfa->font->avgwdth = "73"; break;
|
|
case 8: pfa->font->avgwdth = "94"; break;
|
|
case 10: pfa->font->avgwdth = "125"; break;
|
|
|
|
case 1: pfa->font->avgwdth = "52"; break;
|
|
case 3: pfa->font->avgwdth = "73"; break;
|
|
case 5: pfa->font->avgwdth = "84"; break;
|
|
case 7: pfa->font->avgwdth = "94"; break;
|
|
case 9: pfa->font->avgwdth = "125"; break;
|
|
case 11: pfa->font->avgwdth = "168"; break;
|
|
}
|
|
}
|
|
|
|
if (adstyl_spc == SERIF_P && !is_bold && is_italic) goto done;
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->wght = "bold";
|
|
pfa->font->slant = "r";
|
|
|
|
pfa->alias->slant = pfa->font->slant;
|
|
|
|
switch (i) {
|
|
case 0: pfa->font->avgwdth = "47"; break;
|
|
case 2: pfa->font->avgwdth = "57"; break;
|
|
case 4: pfa->font->avgwdth = "67"; break;
|
|
case 6: pfa->font->avgwdth = "77"; break;
|
|
case 8: pfa->font->avgwdth = "99"; break;
|
|
case 10: pfa->font->avgwdth = "132"; break;
|
|
|
|
case 1: pfa->font->avgwdth = "57"; break;
|
|
case 3: pfa->font->avgwdth = "76"; break;
|
|
case 5: pfa->font->avgwdth = "88"; break;
|
|
case 7: pfa->font->avgwdth = "100"; break;
|
|
case 9: pfa->font->avgwdth = "132"; break;
|
|
case 11: pfa->font->avgwdth = "177"; break;
|
|
}
|
|
}
|
|
|
|
if (adstyl_spc == SERIF_P && is_bold && !is_italic) goto done;
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->slant = "i";
|
|
|
|
pfa->alias->slant = pfa->font->slant;
|
|
|
|
switch (i) {
|
|
case 0: pfa->font->avgwdth = "47"; break;
|
|
case 2: pfa->font->avgwdth = "57"; break;
|
|
case 4: pfa->font->avgwdth = "68"; break;
|
|
case 6: pfa->font->avgwdth = "77"; break;
|
|
case 8: pfa->font->avgwdth = "98"; break;
|
|
case 10: pfa->font->avgwdth = "128"; break;
|
|
|
|
case 1: pfa->font->avgwdth = "57"; break;
|
|
case 3: pfa->font->avgwdth = "77"; break;
|
|
case 5: pfa->font->avgwdth = "86"; break;
|
|
case 7: pfa->font->avgwdth = "98"; break;
|
|
case 9: pfa->font->avgwdth = "128"; break;
|
|
case 11: pfa->font->avgwdth = "170"; break;
|
|
}
|
|
}
|
|
|
|
if (adstyl_spc == SERIF_P && is_bold && is_italic) goto done;
|
|
|
|
done:
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->alias->wght = pfa->font->wght;
|
|
pfa->alias->swdth = pfa->font->swdth;
|
|
pfa->alias->pxlsz = pfa->font->pxlsz;
|
|
pfa->alias->ptsz = pfa->font->ptsz;
|
|
pfa->alias->resx = pfa->font->resx;
|
|
pfa->alias->resy = pfa->font->resy;
|
|
pfa->alias->spc = pfa->font->spc;
|
|
pfa->alias->avgwdth = pfa->font->avgwdth;
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
pfa->alias->encdng = pfa->font->encdng;
|
|
}
|
|
}
|
|
|
|
static void app_iso8859_partial(enum app_adstyl_spc_t adstyl_spc, bool is_bold,
|
|
bool is_italic)
|
|
{
|
|
app_iso8859_full(adstyl_spc, is_bold, is_italic);
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->fndry = "misc";
|
|
pfa->font->fmly = "fixed";
|
|
pfa->font->wght = "medium";
|
|
pfa->font->slant = "r";
|
|
pfa->font->resx =
|
|
pfa->font->resy = "75";
|
|
pfa->font->spc = "c";
|
|
|
|
switch (i) {
|
|
case 0:
|
|
pfa->font->pxlsz = "8";
|
|
pfa->font->ptsz = "80";
|
|
pfa->font->avgwdth = "50";
|
|
break;
|
|
|
|
case 1:
|
|
case 2:
|
|
pfa->font->pxlsz = "10";
|
|
pfa->font->ptsz = "100";
|
|
pfa->font->avgwdth = "60";
|
|
break;
|
|
|
|
case 3:
|
|
case 6:
|
|
pfa->font->wght = is_bold ? "bold" : "medium";
|
|
pfa->font->pxlsz = "14";
|
|
pfa->font->ptsz = "130";
|
|
pfa->font->avgwdth = "70";
|
|
break;
|
|
|
|
case 4:
|
|
pfa->font->wght = is_bold ? "bold" : "medium";
|
|
pfa->font->pxlsz = "13";
|
|
pfa->font->ptsz = "120";
|
|
pfa->font->avgwdth = "70";
|
|
break;
|
|
|
|
case 5:
|
|
case 8:
|
|
pfa->font->wght = is_bold ? "bold" : "medium";
|
|
pfa->font->pxlsz = "18";
|
|
pfa->font->ptsz = "120";
|
|
pfa->font->resx = "100";
|
|
pfa->font->resy = pfa->font->resx;
|
|
pfa->font->avgwdth = "90";
|
|
break;
|
|
|
|
case 7:
|
|
case 9:
|
|
case 10:
|
|
case 11:
|
|
pfa->font->pxlsz = "20";
|
|
pfa->font->ptsz = "200";
|
|
pfa->font->avgwdth = "100";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
static void app_iso8859_11(enum app_adstyl_spc_t adstyl_spc, bool is_bold,
|
|
bool is_italic)
|
|
{
|
|
app_iso8859_partial(adstyl_spc, is_bold, is_italic);
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
struct font_alias_t *p;
|
|
|
|
pfa->font->encdng = "11";
|
|
|
|
pfa->alias->encdng = pfa->font->encdng;
|
|
|
|
switch (i) {
|
|
case 0:
|
|
case 1:
|
|
case 2:
|
|
p = &app_fal[4];
|
|
|
|
pfa->font->wght = p->font->wght;
|
|
pfa->font->pxlsz = p->font->pxlsz;
|
|
pfa->font->ptsz = p->font->ptsz;
|
|
pfa->font->avgwdth = p->font->avgwdth;
|
|
|
|
break;
|
|
|
|
case 5:
|
|
case 8:
|
|
pfa->font->wght = "medium";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
static void app_koi8_r(enum app_adstyl_spc_t adstyl_spc, bool is_bold,
|
|
bool is_italic)
|
|
{
|
|
app_iso8859_partial(adstyl_spc, is_bold, is_italic);
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->wght = "medium";
|
|
pfa->font->rgstry = "koi8";
|
|
pfa->font->encdng = "r";
|
|
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
pfa->alias->encdng = pfa->font->encdng;
|
|
}
|
|
}
|
|
|
|
static void app_jisx0201_1976_0(enum app_adstyl_spc_t adstyl_spc, bool is_bold,
|
|
bool is_italic)
|
|
{
|
|
app_iso8859_partial(adstyl_spc, is_bold, is_italic);
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->wght = "medium";
|
|
pfa->font->pxlsz = "14";
|
|
pfa->font->ptsz = "130";
|
|
pfa->font->resx =
|
|
pfa->font->resy = "75";
|
|
pfa->font->avgwdth = "70";
|
|
pfa->font->rgstry = "jisx0201.1976";
|
|
pfa->font->encdng = "0";
|
|
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
pfa->alias->encdng = pfa->font->encdng;
|
|
}
|
|
}
|
|
|
|
static void app_jisx0208_1983_0(enum app_adstyl_spc_t adstyl_spc, bool is_bold,
|
|
bool is_italic)
|
|
{
|
|
app_jisx0201_1976_0(adstyl_spc, is_bold, is_italic);
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->fndry = "jis";
|
|
pfa->font->rgstry = "jisx0208.1983";
|
|
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
|
|
switch (i) {
|
|
case 0:
|
|
case 1:
|
|
case 2:
|
|
case 3:
|
|
case 4:
|
|
case 6:
|
|
pfa->font->fndry = "misc";
|
|
pfa->font->avgwdth = "140";
|
|
break;
|
|
|
|
case 5:
|
|
case 7:
|
|
case 8:
|
|
pfa->font->pxlsz = "16";
|
|
pfa->font->ptsz = "150";
|
|
pfa->font->avgwdth = "160";
|
|
break;
|
|
|
|
case 9:
|
|
case 10:
|
|
case 11:
|
|
pfa->font->pxlsz = "24";
|
|
pfa->font->ptsz = "230";
|
|
pfa->font->avgwdth = "240";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
static void app_ksc5601_1987_0(enum app_adstyl_spc_t adstyl_spc, bool is_bold,
|
|
bool is_italic)
|
|
{
|
|
app_iso8859_partial(adstyl_spc, is_bold, is_italic);
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->fndry = "daewoo";
|
|
pfa->font->fmly = "mincho";
|
|
pfa->font->wght = "medium";
|
|
pfa->font->resx =
|
|
pfa->font->resy = "100";
|
|
pfa->font->rgstry = "ksc5601.1987";
|
|
pfa->font->encdng = "0";
|
|
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
pfa->alias->encdng = pfa->font->encdng;
|
|
|
|
switch (i) {
|
|
case 0:
|
|
case 1:
|
|
case 2:
|
|
case 3:
|
|
case 4:
|
|
case 5:
|
|
case 6:
|
|
case 7:
|
|
case 8:
|
|
pfa->font->fmly = is_bold ? "mincho" : "gothic";
|
|
pfa->font->pxlsz = "16";
|
|
pfa->font->ptsz = "120";
|
|
pfa->font->avgwdth = "160";
|
|
break;
|
|
|
|
case 9:
|
|
case 10:
|
|
case 11:
|
|
pfa->font->pxlsz = "24";
|
|
pfa->font->ptsz = "170";
|
|
pfa->font->avgwdth = "240";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
static void app_gb2312_1980_0(enum app_adstyl_spc_t adstyl_spc, bool is_bold,
|
|
bool is_italic)
|
|
{
|
|
app_iso8859_partial(adstyl_spc, is_bold, is_italic);
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->fndry = "isas";
|
|
pfa->font->fmly = "song ti";
|
|
pfa->font->wght = "medium";
|
|
pfa->font->resx =
|
|
pfa->font->resy = "72";
|
|
pfa->font->rgstry = "gb2312.1980";
|
|
pfa->font->encdng = "0";
|
|
|
|
pfa->alias->rgstry = pfa->font->rgstry;
|
|
pfa->alias->encdng = pfa->font->encdng;
|
|
|
|
switch (i) {
|
|
case 0:
|
|
case 1:
|
|
case 2:
|
|
case 3:
|
|
case 4:
|
|
case 5:
|
|
case 6:
|
|
case 7:
|
|
case 8:
|
|
pfa->font->fmly = is_bold ? "song ti" : "fangsong ti";
|
|
pfa->font->pxlsz = "16";
|
|
pfa->font->ptsz = "160";
|
|
pfa->font->avgwdth = "160";
|
|
break;
|
|
|
|
case 9:
|
|
case 10:
|
|
case 11:
|
|
pfa->font->pxlsz = "24";
|
|
pfa->font->ptsz = "240";
|
|
pfa->font->avgwdth = "240";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
static void app_dtsymbol_1(void) {
|
|
app_iso8859_full(SANS_P, false, false);
|
|
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
|
|
pfa->font->fndry = "adobe";
|
|
pfa->font->fmly = "symbol";
|
|
pfa->font->adstyl = "";
|
|
pfa->font->rgstry = "adobe";
|
|
pfa->font->encdng = "fontspecific";
|
|
|
|
pfa->alias->adstyl = pfa->font->adstyl;
|
|
pfa->alias->rgstry = "dtsymbol";
|
|
pfa->alias->encdng = "1";
|
|
|
|
switch (i) {
|
|
case 0: pfa->font->avgwdth = "51"; break;
|
|
case 2: pfa->font->avgwdth = "61"; break;
|
|
case 4: pfa->font->avgwdth = "74"; break;
|
|
case 6: pfa->font->avgwdth = "85"; break;
|
|
case 8: pfa->font->avgwdth = "107"; break;
|
|
case 10: pfa->font->avgwdth = "142"; break;
|
|
|
|
case 1: pfa->font->avgwdth = "61"; break;
|
|
case 3: pfa->font->avgwdth = "85"; break;
|
|
case 5: pfa->font->avgwdth = "95"; break;
|
|
case 7: pfa->font->avgwdth = "107"; break;
|
|
case 9: pfa->font->avgwdth = "142"; break;
|
|
case 11: pfa->font->avgwdth = "191"; break;
|
|
}
|
|
}
|
|
}
|
|
|
|
static void print_app(void (*fapp)(enum app_adstyl_spc_t, bool, bool),
|
|
char *encdng)
|
|
{
|
|
for (int i = 0; i < 3; ++i) {
|
|
for (int j = 0; j < 2; ++j) {
|
|
for (int k = 0; k < 2; ++k) {
|
|
fapp(i, j, k);
|
|
|
|
for (int l = 0; l < APP_FAL_SIZE; ++l) {
|
|
struct font_alias_t *pfa = &app_fal[l];
|
|
pfa->alias->encdng = pfa->font->encdng = encdng;
|
|
print_font_alias(pfa);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
static void print_app_iso8859_full(char *encdng) {
|
|
print_app(app_iso8859_full, encdng);
|
|
}
|
|
|
|
static void print_app_iso8859_partial(char *encdng) {
|
|
print_app(app_iso8859_partial, encdng);
|
|
}
|
|
|
|
static void print_app_iso8859_11(void) {
|
|
print_app(app_iso8859_11, "11");
|
|
}
|
|
|
|
static void print_app_koi8_r(void) {
|
|
print_app(app_koi8_r, "r");
|
|
}
|
|
|
|
static void print_app_jisx0201_1976_0(void) {
|
|
print_app(app_jisx0201_1976_0, "0");
|
|
}
|
|
|
|
static void print_app_jisx0208_1983_0(void) {
|
|
print_app(app_jisx0208_1983_0, "0");
|
|
}
|
|
|
|
static void print_app_ksc5601_1987_0(void) {
|
|
print_app(app_ksc5601_1987_0, "0");
|
|
}
|
|
|
|
static void print_app_gb2312_1980_0(void) {
|
|
print_app(app_gb2312_1980_0, "0");
|
|
}
|
|
|
|
static void print_app_dtsymbol_1(void) {
|
|
app_dtsymbol_1();
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) print_font_alias(&app_fal[i]);
|
|
}
|
|
|
|
static void mixed_iface_iso8859(bool is_user, bool is_bold) {
|
|
iface_iso8859(is_user, is_bold);
|
|
|
|
if (!is_user && is_bold) return;
|
|
|
|
for (int i = 0; i < IFACE_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &iface_fal[i];
|
|
|
|
pfa->font->fndry = "b&h";
|
|
pfa->font->fmly = is_user ? "lucidatypewriter" : "lucidabright";
|
|
pfa->font->wght = is_bold ? "bold" : "medium";
|
|
pfa->font->adstyl = is_user ? "sans" : "";
|
|
pfa->font->spc = is_user ? "m" : "p";
|
|
}
|
|
|
|
if (!is_user) {
|
|
iface_alias_xxs.adstyl = "xxs serif";
|
|
iface_alias_xs.adstyl = "xs serif";
|
|
iface_alias_s.adstyl = "s serif";
|
|
iface_alias_m.adstyl = "m serif";
|
|
iface_alias_l.adstyl = "l serif";
|
|
iface_alias_xl.adstyl = "xl serif";
|
|
iface_alias_xxl.adstyl = "xxl serif";
|
|
}
|
|
|
|
iface_font_xxs.pxlsz = "10";
|
|
iface_font_xxs.ptsz = "100";
|
|
iface_font_xxs.resx = "75";
|
|
iface_font_xxs.resy = "75";
|
|
iface_font_xxs.avgwdth = is_user ? "60" : "56";
|
|
|
|
iface_font_xs.pxlsz = "11";
|
|
iface_font_xs.ptsz = "80";
|
|
iface_font_xs.resx = "100";
|
|
iface_font_xs.resy = "100";
|
|
iface_font_xs.avgwdth = is_user ? "70" : "63";
|
|
|
|
iface_font_s.pxlsz = "14";
|
|
iface_font_s.ptsz = "140";
|
|
iface_font_s.resx = "75";
|
|
iface_font_s.resy = "75";
|
|
iface_font_s.avgwdth = is_user ? "90" : "80";
|
|
|
|
iface_font_m.pxlsz = "17";
|
|
iface_font_m.ptsz = "120";
|
|
iface_font_m.resx = "100";
|
|
iface_font_m.resy = "100";
|
|
iface_font_m.avgwdth = is_user ? "100" : "96";
|
|
|
|
iface_font_l.pxlsz = "19";
|
|
iface_font_l.ptsz = "190";
|
|
iface_font_l.resx = "75";
|
|
iface_font_l.resy = "75";
|
|
iface_font_l.avgwdth = is_user ? "110" : "109";
|
|
|
|
iface_font_xl.pxlsz = "20";
|
|
iface_font_xl.ptsz = "140";
|
|
iface_font_xl.resx = "100";
|
|
iface_font_xl.resy = "100";
|
|
iface_font_xl.avgwdth = is_user ? "120" : "114";
|
|
|
|
iface_font_xxl.pxlsz = "24";
|
|
iface_font_xxl.ptsz = "240";
|
|
iface_font_xxl.resx = "75";
|
|
iface_font_xxl.resy = "75";
|
|
iface_font_xxl.avgwdth = is_user ? "140" : "137";
|
|
|
|
for (int i = 0; i < IFACE_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &iface_fal[i];
|
|
|
|
pfa->alias->pxlsz = pfa->font->pxlsz;
|
|
pfa->alias->ptsz = pfa->font->ptsz;
|
|
pfa->alias->resx = pfa->font->resx;
|
|
pfa->alias->resy = pfa->font->resy;
|
|
pfa->alias->spc = pfa->font->spc;
|
|
pfa->alias->avgwdth = pfa->font->avgwdth;
|
|
}
|
|
}
|
|
|
|
static void print_mixed_iface_iso8859(char *encdng) {
|
|
print_iface(mixed_iface_iso8859, encdng);
|
|
}
|
|
|
|
int main(int argc, char *argv[]) {
|
|
for (int i = 0; i < APP_FAL_SIZE; ++i) {
|
|
struct font_alias_t *pfa = &app_fal[i];
|
|
pfa->font = &app_font[i];
|
|
pfa->alias = &app_alias[i];
|
|
}
|
|
|
|
char *iface_encdng[] = {
|
|
"1",
|
|
"2",
|
|
"3",
|
|
"4",
|
|
"5",
|
|
"7",
|
|
"8",
|
|
"9",
|
|
"10",
|
|
"13",
|
|
"14",
|
|
"15",
|
|
"16"
|
|
};
|
|
|
|
for (int i = 0; i < sizeof(iface_encdng) / sizeof(char *); ++i) {
|
|
char *encdng = iface_encdng[i];
|
|
|
|
if (argc > 1) {
|
|
if (strcmp(encdng, "5") &&
|
|
strcmp(encdng, "7") &&
|
|
strcmp(encdng, "8") &&
|
|
strcmp(encdng, "16"))
|
|
print_mixed_iface_iso8859(encdng);
|
|
}
|
|
else print_iface_iso8859(encdng);
|
|
}
|
|
|
|
print_iface_iso8859_11();
|
|
print_iface_koi8_r();
|
|
print_iface_jisx0201_1976_0();
|
|
print_iface_jisx0208_1983_0();
|
|
print_iface_ksc5601_1987_0();
|
|
print_iface_gb2312_1980_0();
|
|
|
|
char *app_full_encdng[] = {"1", "2", "3", "4", "9", "10", "13", "14", "15"};
|
|
|
|
for (int i = 0; i < sizeof(app_full_encdng) / sizeof(char *); ++i)
|
|
print_app_iso8859_full(app_full_encdng[i]);
|
|
|
|
char *app_partial_encdng[] = {"5", "7", "8", "16"};
|
|
|
|
for (int i = 0; i < sizeof(app_partial_encdng) / sizeof(char *); ++i)
|
|
print_app_iso8859_partial(app_partial_encdng[i]);
|
|
|
|
print_app_iso8859_11();
|
|
print_app_koi8_r();
|
|
print_app_jisx0201_1976_0();
|
|
print_app_jisx0208_1983_0();
|
|
print_app_ksc5601_1987_0();
|
|
print_app_gb2312_1980_0();
|
|
print_app_dtsymbol_1();
|
|
}
|