Trim ideographic punctuation and Suzhou numerals from zh-tw orthography.

Had accidentally swapped codePageRange bits for traditional and
    simplified chinese. Add persian (fa) and HKSCS (zh-hk). Fix possible
    bug in charset walking
This commit is contained in:
Keith Packard 2002-07-09 02:28:29 +00:00
parent e50b9ae711
commit 2fcac34973
8 changed files with 3239 additions and 567 deletions

View File

@ -1,4 +1,4 @@
XCOMM $XFree86: xc/lib/fontconfig/fc-lang/Imakefile,v 1.4 2002/07/07 19:30:52 keithp Exp $
XCOMM $XFree86: xc/lib/fontconfig/fc-lang/Imakefile,v 1.5 2002/07/08 07:31:49 keithp Exp $
#ifdef UseInstalled
/* building outside the tree, use private defines */
@ -20,14 +20,14 @@ TMPL=fclang.tmpl.h
# Basic ISO 639-1 two letter language names
ORTH1=ab.orth ar.orth az.orth ba.orth be.orth bg.orth bn.orth bo.orth br.orth\
ca.orth co.orth cs.orth da.orth de.orth el.orth en.orth eo.orth es.orth\
et.orth eu.orth fi.orth fo.orth fr.orth fy.orth ga.orth gd.orth gl.orth\
gu.orth he.orth hr.orth hu.orth hy.orth is.orth it.orth ja.orth ka.orth\
kk.orth kl.orth km.orth kn.orth ko.orth la.orth lo.orth lt.orth lv.orth\
mk.orth ml.orth mn.orth mo.orth mt.orth nl.orth no.orth oc.orth or.orth\
pl.orth pt.orth rm.orth ro.orth ru.orth sh.orth si.orth sk.orth sl.orth\
sq.orth sr.orth sv.orth ta.orth te.orth th.orth tl.orth tr.orth uk.orth\
vo.orth wa.orth yi.orth zh_cn.orth zh_mo.orth zh_sg.orth zh_tw.orth
et.orth eu.orth fa.orth fi.orth fo.orth fr.orth fy.orth ga.orth gd.orth\
gl.orth gu.orth he.orth hr.orth hu.orth hy.orth is.orth it.orth ja.orth\
ka.orth kk.orth kl.orth km.orth kn.orth ko.orth la.orth lo.orth lt.orth\
lv.orth mk.orth ml.orth mn.orth mo.orth mt.orth nl.orth no.orth oc.orth\
or.orth pl.orth pt.orth rm.orth ro.orth ru.orth sh.orth si.orth sk.orth\
sl.orth sq.orth sr.orth sv.orth ta.orth te.orth th.orth tl.orth tr.orth\
uk.orth vo.orth wa.orth yi.orth zh_cn.orth zh_hk.orth zh_mo.orth\
zh_sg.orth zh_tw.orth
#
# ISO 639-2 adds many more three letter language names
#

53
fc-lang/fa.orth Normal file
View File

@ -0,0 +1,53 @@
#
# $XFree86$
#
# Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of Keith Packard not be used in
# advertising or publicity pertaining to distribution of the software without
# specific, written prior permission. Keith Packard makes no
# representations about the suitability of this software for any purpose. It
# is provided "as is" without express or implied warranty.
#
# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
# EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
#
# Persian (FA)
#
# Data from Roozbeh Pournader <roozbeh@sharif.edu>
#
# Select fonts based on support for presentation forms; this may
# exclude some OpenType fonts, but the hope is those would be
# located by a clever shaper by Unicode codepoints in any case.
#
# Non presentation forms.
#0621-0624
#0626-063a
#0641-0642
#0644-0648
#067e
#0686
#0698
#06a9
#06af
#06cc
# Presentations Forms:
fb56-fb59
fb7a-fb7d
fb8a-fb8b
fb8e-fb95
fbfc-fbff
fe80-fe86
fe89-fed8
fedd-feee
#fef5-fef8 # These four happen very rarely
fefb-fefc

File diff suppressed because it is too large Load Diff

View File

@ -130,7 +130,7 @@ built.
ewo Ewondo éwondo
fan Fang fang
* fao fo Faroese féroïen
per/fas* fa Persian persan
* per/fas* fa Persian persan
fat Fanti fanti
fij fj Fijian fidjien
* fin fi Finnish finnois
@ -331,7 +331,7 @@ built.
pap Papiamento papiamento
pau Palauan palau
peo Persian, Old (ca.600-400 B.C.) perse, vieux (ca. 600-400 av. J.-C.)
per/fas* fa Persian persan
* per/fas* fa Persian persan
phi Philippine (Other) philippines, autres langues
phn Phoenician phénicien
pli pi Pali pali

2240
fc-lang/zh_hk.orth Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
#
# $XFree86$
# $XFree86: xc/lib/fontconfig/fc-lang/zh_tw.orth,v 1.2 2002/07/06 23:59:19 keithp Exp $
#
# Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
#
@ -22,20 +22,23 @@
# PERFORMANCE OF THIS SOFTWARE.
#
# Chinese (traditional) ZH-TW
0x3000
0x3001
0x3002
0x3003
0x3005
0x3021
0x3022
0x3023
0x3024
0x3025
0x3026
0x3027
0x3028
0x3029
#
# Made by trimming the Big5 -> unicode mapping down to just Chinese glyphs
#
#0x3000 # ideographic space
#0x3001 # ideographic comma
#0x3002 # ideographic full stop
#0x3003 # ditto mark
#0x3005 # ideographic iteration mark
#0x3021 # Suzhou numeral 1
#0x3022 # Suzhou numeral 2
#0x3023 # Suzhou numeral 3
#0x3024 # Suzhou numeral 4
#0x3025 # Suzhou numeral 5
#0x3026 # Suzhou numeral 6
#0x3027 # Suzhou numeral 7
#0x3028 # Suzhou numeral 8
#0x3029 # Suzhou numeral 9
# Han
0x4E00
0x4E01

View File

@ -1,5 +1,5 @@
/*
* $XFree86: xc/lib/fontconfig/src/fccharset.c,v 1.14 2002/06/29 20:31:02 keithp Exp $
* $XFree86: xc/lib/fontconfig/src/fccharset.c,v 1.15 2002/07/06 23:47:43 keithp Exp $
*
* Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
*
@ -111,7 +111,7 @@ FcCharSetFindLeafPos (const FcCharSet *fcs, FcChar32 ucs4)
else
high = mid - 1;
}
if (high < 0 || numbers[high] < ucs4)
if (high < 0 || (high < fcs->num && numbers[high] < ucs4))
high++;
return -(high + 1);
}

View File

@ -1,5 +1,5 @@
/*
* $XFree86: xc/lib/fontconfig/src/fcfreetype.c,v 1.6 2002/07/06 23:47:43 keithp Exp $
* $XFree86: xc/lib/fontconfig/src/fcfreetype.c,v 1.7 2002/07/08 07:31:53 keithp Exp $
*
* Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
*
@ -40,9 +40,9 @@ static const struct {
const FcChar8 *lang;
} FcCodePageRange[] = {
{ 17, (const FcChar8 *) "ja" },
{ 18, (const FcChar8 *) "zh-tw" },
{ 18, (const FcChar8 *) "zh-cn" },
{ 19, (const FcChar8 *) "ko" },
{ 20, (const FcChar8 *) "zh-cn" },
{ 20, (const FcChar8 *) "zh-tw" },
};
#define NUM_CODE_PAGE_RANGE (sizeof FcCodePageRange / sizeof FcCodePageRange[0])