Add Low Saxon orthography (Kenneth Rohde Christiansen <kenneth@gnu.org>)
Oops. Left 'newest.set' unset, which would miscompute the newest file Add FcGetPixelSize to extract correct pixel size from bdf/pcf font properties (which report the wrong value in current FreeType) Don't attempt to check for empty glyphs in non-scalable fonts; they have no outlines...
This commit is contained in:
parent
f4c52909ab
commit
b68b96464f
18
ChangeLog
18
ChangeLog
|
@ -1,3 +1,21 @@
|
||||||
|
2004-02-06 Keith Packard <keithp@keithp.com>
|
||||||
|
|
||||||
|
* fc-lang/nds.orth:
|
||||||
|
Add Low Saxon orthography
|
||||||
|
(Kenneth Rohde Christiansen <kenneth@gnu.org>)
|
||||||
|
|
||||||
|
* src/fccfg.c: (FcConfigNewestFile):
|
||||||
|
Oops. Left 'newest.set' unset, which would miscompute
|
||||||
|
the newest file
|
||||||
|
|
||||||
|
* src/fcfreetype.c: (FcGetPixelSize), (FcFreeTypeQuery),
|
||||||
|
(FcFreeTypeCheckGlyph):
|
||||||
|
Add FcGetPixelSize to extract correct pixel size from bdf/pcf
|
||||||
|
font properties (which report the wrong value in current FreeType)
|
||||||
|
|
||||||
|
Don't attempt to check for empty glyphs in non-scalable fonts; they
|
||||||
|
have no outlines...
|
||||||
|
|
||||||
2004-02-01 Tor Lillqvist <tml@iki.fi>
|
2004-02-01 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* src/fccfg.c (FcConfigCreate): fontconfig, at least as used by
|
* src/fccfg.c (FcConfigCreate): fontconfig, at least as used by
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
#
|
||||||
|
# $RCSId: xc/lib/fontconfig/fc-lang/de.orth,v 1.3 2002/07/12 09:12:36 keithp Exp $
|
||||||
|
#
|
||||||
|
# Copyright © 2004 Keith Packard
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# Low Saxon (NDS)
|
||||||
|
#
|
||||||
|
# Sources:
|
||||||
|
# Kenneth Rohde Christiansen <kenneth@gnu.org>
|
||||||
|
# ANS -
|
||||||
|
# Algemeyne Neddersassische Schryvwys' (DE)
|
||||||
|
# Algemeyne Nedersaksische Schryvwyse (NL)
|
||||||
|
#
|
||||||
|
0041-005a # LATIN CAPITAL LETTER A through Z
|
||||||
|
0061-007a # LATIN SMALL LETTER A through Z
|
||||||
|
00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
|
||||||
|
00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||||
|
00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||||
|
00DF # LATIN SMALL LETTER SHARP S (German)
|
||||||
|
00E4 # LATIN SMALL LETTER A WITH DIAERESIS
|
||||||
|
00F6 # LATIN SMALL LETTER O WITH DIAERESIS
|
||||||
|
00FC # LATIN SMALL LETTER U WITH DIAERESIS
|
|
@ -145,7 +145,10 @@ FcConfigNewestFile (FcStrSet *files)
|
||||||
while ((file = FcStrListNext (list)))
|
while ((file = FcStrListNext (list)))
|
||||||
if (stat ((char *) file, &statb) == 0)
|
if (stat ((char *) file, &statb) == 0)
|
||||||
if (!newest.set || statb.st_mtime - newest.time > 0)
|
if (!newest.set || statb.st_mtime - newest.time > 0)
|
||||||
|
{
|
||||||
|
newest.set = FcTrue;
|
||||||
newest.time = statb.st_mtime;
|
newest.time = statb.st_mtime;
|
||||||
|
}
|
||||||
FcStrListDone (list);
|
FcStrListDone (list);
|
||||||
}
|
}
|
||||||
return newest;
|
return newest;
|
||||||
|
|
|
@ -344,6 +344,23 @@ static const FcStringConst slantConsts[] = {
|
||||||
#define FcIsSlant(s) FcStringIsConst(s,slantConsts,NUM_SLANT_CONSTS)
|
#define FcIsSlant(s) FcStringIsConst(s,slantConsts,NUM_SLANT_CONSTS)
|
||||||
#define FcContainsSlant(s) FcStringContainsConst (s,slantConsts,NUM_SLANT_CONSTS)
|
#define FcContainsSlant(s) FcStringContainsConst (s,slantConsts,NUM_SLANT_CONSTS)
|
||||||
|
|
||||||
|
static double
|
||||||
|
FcGetPixelSize (FT_Face face, int i)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_FT_GET_BDF_PROPERTY
|
||||||
|
if (face->num_fixed_sizes == 1)
|
||||||
|
{
|
||||||
|
BDF_PropertyRec prop;
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
rc = MY_Get_BDF_Property (face, "PIXEL_SIZE", &prop);
|
||||||
|
if (rc == 0 && prop.type == BDF_PROPERTY_TYPE_INTEGER)
|
||||||
|
return (double) prop.u.integer;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return (double) face->available_sizes[i].y_ppem / 64.0;
|
||||||
|
}
|
||||||
|
|
||||||
FcPattern *
|
FcPattern *
|
||||||
FcFreeTypeQuery (const FcChar8 *file,
|
FcFreeTypeQuery (const FcChar8 *file,
|
||||||
int id,
|
int id,
|
||||||
|
@ -991,7 +1008,7 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
{
|
{
|
||||||
for (i = 0; i < face->num_fixed_sizes; i++)
|
for (i = 0; i < face->num_fixed_sizes; i++)
|
||||||
if (!FcPatternAddDouble (pat, FC_PIXEL_SIZE,
|
if (!FcPatternAddDouble (pat, FC_PIXEL_SIZE,
|
||||||
(double) face->available_sizes[i].height))
|
FcGetPixelSize (face, i)))
|
||||||
goto bail1;
|
goto bail1;
|
||||||
if (!FcPatternAddBool (pat, FC_ANTIALIAS, FcFalse))
|
if (!FcPatternAddBool (pat, FC_ANTIALIAS, FcFalse))
|
||||||
goto bail1;
|
goto bail1;
|
||||||
|
@ -1001,17 +1018,6 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
int value;
|
int value;
|
||||||
BDF_PropertyRec prop;
|
BDF_PropertyRec prop;
|
||||||
|
|
||||||
rc = MY_Get_BDF_Property(face, "PIXEL_SIZE", &prop);
|
|
||||||
if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_INTEGER)
|
|
||||||
value = prop.u.integer;
|
|
||||||
else if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_CARDINAL)
|
|
||||||
value = prop.u.cardinal;
|
|
||||||
else
|
|
||||||
goto nevermind;
|
|
||||||
if(value != face->available_sizes[0].height)
|
|
||||||
/* ``impossible'' */
|
|
||||||
goto nevermind;
|
|
||||||
|
|
||||||
rc = MY_Get_BDF_Property(face, "POINT_SIZE", &prop);
|
rc = MY_Get_BDF_Property(face, "POINT_SIZE", &prop);
|
||||||
if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_INTEGER)
|
if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_INTEGER)
|
||||||
value = prop.u.integer;
|
value = prop.u.integer;
|
||||||
|
@ -1760,6 +1766,12 @@ FcFreeTypeCheckGlyph (FT_Face face, FcChar32 ucs4,
|
||||||
FT_Int load_flags = FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH | FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
|
FT_Int load_flags = FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH | FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
|
||||||
FT_GlyphSlot slot;
|
FT_GlyphSlot slot;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For bitmap-only fonts, assume that they're OK.
|
||||||
|
*/
|
||||||
|
if ((face->face_flags & FT_FACE_FLAG_SCALABLE) == 0)
|
||||||
|
return FcTrue;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When using scalable fonts, only report those glyphs
|
* When using scalable fonts, only report those glyphs
|
||||||
* which can be scaled; otherwise those fonts will
|
* which can be scaled; otherwise those fonts will
|
||||||
|
|
Loading…
Reference in New Issue