Is there an LCD mode which does not grow the image size?
No. You need three colour channels for LCD rendering.
What is the format of the bitmap memory when FT_PIXEL_MODE_LCD is in
place? The docs say 8-bit, but it being 3x as wide suggests maybe 1
byte for each color component?
Yes. I
In order for sub-pixel rendering to work, if I understand what I
read in that link correctly, the R, G, and B values will not be
equal, since they're providing the sub-pixels on an LCD screen.
Correct.
The comment indicates the enabling this flag activates sub-pixel
rendering, yet it later
So if I do the below:
- enable FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h
- call FT_Library_SetLcdFilter with FT_LCD_FILTER_DEFAULT
- use FT_RENDER_MODE_LCD when calling FT_Render_Glyph
Then, the result of FT_Render_Glyph will be a 24-bit (8 bits for
each red,green,blue) color
Werner, if you're interested in status updates please let me know,
I'll keep you up to date then. :)
Please do. Your problem sounds mysterious enough to make me curious.
Werner
___
Freetype mailing list
Freetype@nongnu.org
Where can find about definition of hinted fonts? What it means?
Read the OpenType specification.
How does it vary in freetype for HINT and NO_HINT?
Well, if you set the no-hint flag, no hinting gets applied. However,
you have to understand the concept of hinting first...
I tried using
Please stay on the list.
Actually, I am develop programmer where i need char definition in structure
like that.
1. topleft row
2. col
3. botleft row
4. col
5. width
6. height
This has been recently discussed on the mailing list. Please look up
the discussion with
I'm having some trouble computing the bounding box of glyphs. It's
possible that I haven't understood the purpose of the
FT_Glyph_Get_CBox function. In my understanding by using this
function I should get the extreme coordinates of the glyphs,
Yes, if you ask for font units.
and these
error = FT_Load_Glyph( face, glyph_index, FT_LOAD_NO_HINTING);
Family name of the font is --- Arial
Style name of the font is --- Regular
bbox = [-1 0 9 9]
*Xmin is still negative.
Yes! I told you in a previous mail that the unhinted coordinate of
the leftmost pixel is NEGATIVE!
Is Width and height of the glyph is correct if i do the following??
No. You can't get the exact width and height of a glyph at a specific
DPI using the bounding box (to be more precise, if the DPI is smaller
than the font's `units per em' value, used by the font designer to
create the glyph).
So,You mean irrespective of what ever we do...the BBox is Always
negative.
For this glyph, yes.
In your previous reply you said, the only way to get the exact
metrics is to render _all_ glyphs.
Sorry for being ambiguous. It either means:
. To get the smallest global bounding box of a
I've found that this small hack/patch does amazing things toward a
CT-like rendering, when TT interpreter is enabled at compile time:
[...]
Very nice. Do you plan to invest more time to work on this?
Werner
___
Freetype mailing list
i want to get the chinese character bitmap by freetype for
overlaying it on video flow i set the char size in use of
FT_Set_Pixel_Sizes(face,width,height) but different chinese
character corresponding different width and height. or it will be
Distortious . can't i set the uniform size for
im trying to compile a compact version of freetype 2.3.9 with only
truetype support. [...]
How can i find out which modules I need to include to only support
truetype?
See docs/INSTALL.ANY.
Werner
___
Freetype mailing list
I would like to know how much is the bitmap buffer size.
Actually i am calculating like below said,
if((bitmap-width/8) 1)
size = 2*bitmap-rows ;
else
size = ((bitmap-width /8)+1)*bitmap-rows;
But for few characters i am getting it perfect,but for few
Hmm, docs/CUSTOMIZE recommends to edit ftmodule.h directly, but the
description of each line is not so easy in comparison with
module.cfg.
Any improvements are highly welcomed.
Werner
___
Freetype mailing list
Freetype@nongnu.org
Nice! Please don't forget to document, probably with screenshots,
which code changes cause which improvements, and which cause
degradations.
I will take screenshots as well as comment (at least temporarily)
the code in the patch. I feel kind of embarrassed posting these
hacky patches of
Good question. I'll ask it on the OpenType mailing list.
Here is a long discussion which gives some hints why the resolution is
increased by a factor of 16.
http://typophile.com/node/62675
Werner
___
Freetype mailing list
Point taken. I changed the function names to end in _ttslight
instead, and the ENHANCED TT to TT SLIGHT HINTING as that really
is what this is.
http://www.infinality.net/files/ttinterp.20100307-2.patch
Original patch has been removed.
This looks very promising! A small aside: I'm not
http://www.infinality.net/files/ttinterp.20100310-1.patch
Thanks. Will have a look later.
Screenshot of the patch in action, with various fonts, in WINE
Wordpad. There are artifacts with some fonts / glyphs that will
probably have to have TT function calls disabled in order to render
A nice option to ftview/ftdiff might be png output!
Go forth and add it! However, I rather suggest to produce an image in
the PGM image format[*] – you don't need a library for writing such
files – which can then be converted to anything else with the Netpbm
tools.
Werner
[*] This is
A nice option to ftview/ftdiff might be png output!
WL Go forth and add it! However, I rather suggest to produce an
WL image in the PGM image format
Or ppm, given that each supports sub-pixel. ☺
Yes, I haven't thought of this.
Werner
___
Folks,
I recommend to read this paper:
A Treatise on Font Rasterisation With an Emphasis on Free Software:
http://freddie.witherden.org/pages/font-rasterisation/
It answers a lot of questions which are repeatedly asked on the
FreeType mailing lists.
Werner
Sorry for not being very responsive currently, especially in handling
the various bug reports. I'm very busy at the moment, and it will be
so the next time also.
Werner
___
Freetype mailing list
Freetype@nongnu.org
In this case, the glyphs/symbols are composed of an arbitrary number
of outer polygons, each of which contains an arbitrary number of
islands. When I call FT_Outline_Decompose(), it triggers a whole
sequence of calls to my moveTo/lineTo callbacks, but it is unclear
to me how I'm supposed to
Sorry for the late response.
Another thing I'm struggling with is how to detect whether points
have been touched in the non-freedom vector direction during
deltaps. Do you have any insights into this, Werner?
Can you elaborate? What do you want to achieve?
Also, I'm still having a hard
I am looking mostly for information on how to convert the path data
in the SVG, into something that freetype can understand/interpret.
Have a look at example3.cpp from the tutorial:
http://freetype.sourceforge.net/freetype2/docs/tutorial/example3.cpp
It demonstrates how to fill an
If I understand Andy correctly, he'd like to map these primitive
outline commands to the corresponding FreeType rules (the
FT_outline_Functs structures) and then hand off the set of rules for
FreeType to work its magic on. I've had a look at
It's trivial for conic and cubic splines, too. You just have to
set the proper flags in the `tags' array. I think this is quite
well documented.
For what it might be worth, below are some snippets of code I wrote
for converting an SVG path into an FT_Outline. [...]
Tom,
thanks for that.
This one adds back a couple features that the older patches had,
that do apparently follow the whitepaper after all. DejaVu fonts
are fixed as well as Palatino Linotype, italics, and some glyph
shapes (e.g. w x y z). Some regressions in Courier New. Not
intended to be a totally clean
Yes, I can do that. Perhaps I use FT_LOAD_SUBPIXEL_HINTING instead?
Oh, yes, definitely better.
I would also like to get others to test the patch before formally
submitting anything, to make sure I'm approaching it as generally as
possible, and not specific to the fonts I like.
If the
I have recently come across a great article about font rendering,
http://www.antigrain.com/research/font_rasterization/
Thanks for the pointer, I haven't known this article.
It basically states (and very convincingly illustrates) that the
secret to very good font rendering is to use only
Is hinting the default for FreeType?
Basically yes, but the default font flags is something to be selected
by the application.
Does it need rewriting to use design metrics?
I think so. At least for TrueType, you have to make a distinction
between rendering for screens and rendering on
Arabic text is written from right to left. When two Arabic
characters are typed, the glyph advance x position for the text
typed (original text before reshaping) is determined using freetype
get glyph routine.
I have no idea how your layout engine works, but this approach looks
plain wrong
cc1: error: unrecognized command line option -arch
This error comes directly from gcc 4.2.1...
I posted this on the iPhone SDK forum as well, but it may be
something specific to the freetype config system, [...]
I don't think so, since the compiler doesn't like the `-arch' flag
which you
Can anyone here confirm all the patents have expired?
Ken Sharp from Artifix told me that now in May all patents have
expired worldwide.
Werner
___
Freetype mailing list
Freetype@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype
I think it could be usefull to notice it in the patent page.
The next release (coming soon if my spare time permits) will switch
off the unpatented hinting hack; in due course I'll update the various
web pages too.
Werner
___
Freetype mailing
Ok, so bad moving = bad rendering !
Yep.
For example : I'm hinting a font for a size of 14. If I'm moving it
with an integer number of pixels, it will be good
Yes.
but if I'm zooming out/zooming in, problems will happen ?
Definitely. Hinting is always tied to a given size.
I think I
The first paragraph of the clause titled 3. Advertising in the
Freetype license seems unclear to me. This may seem like a strange
request, but please reword and/or summarize it.
You have to be more specific. What is unclear?
Werner
___
Hi,I want to render arabic text in opengl using free type 2 can you
help me by a code how do it,please help me
Please contact an OpenGL mailig list. FreeType is too low-level a
library to be of help for you.
Werner
___
Freetype mailing list
FreeType 2.4.0 has been released.
It is available from
http://savannah.nongnu.org/download/freetype/
or
https://sourceforge.net/projects/freetype/files/
The latter site also holds older versions of the FreeType library.
See below for the relevant snippet from the CHANGES file;
Now the problem, this is the code i changed/added to try and get the
freetype to build in OUR project [...]
Unfortunately, I've never used Jam, and David Turner is not responsive
these days... Maybe there are simply errors in the Jamfile which
crept in due to incorrect (or missing) updates.
FreeType 2.4.1 has been released.
It is available from
http://savannah.nongnu.org/download/freetype/
or
https://sourceforge.net/projects/freetype/files/
The latter site also holds older versions of the FreeType library.
See below for the relevant snippet from the CHANGES file.
I believe I'm seeing a regression between 2.3.9 and 2.3.11 when
rendering monochrome text, resulting in a stray pixel being rendered
- See the attached screenshots.
Just for reference: Have you tested 2.4.1 also? I don't expect any
improvement, but...
Unfortunately, I'm not able to give
- Even though I'm getting different rasterization results between
2.3.9 and 2.3.11, I can't seem to see anything different being
done. The output I attached is the same for both versions,
leading me to suspect I'm not looking at the relevant code.
I suggest that you build your product
As you suspected, Horizontal_Sweep_Drop() seems to be the culprit,
and the 2.3.11 changes seem to be producing different results in the
second/final call to it.
I'm not going to try to understand the logic, nor suggest how to fix
it (Not my area of expertise!). Instead, I've tried to print
out of curiosity, has Apple contacted the FreeType dev group
concerning http://www.vupen.com/english/advisories/2010/2018
(FreeType Compact Font Format Two Buffer Overflow
Vulnerabilities)?
Yes. Fixed in 2.4.2.
Even if it's not a serious problem on anything that isn't iOS,
It is a
out of curiosity, has Apple contacted the FreeType dev group
concerning http://www.vupen.com/english/advisories/2010/2018
(FreeType Compact Font Format Two Buffer Overflow
Vulnerabilities)?
Yes. Fixed in 2.4.2.
Unfortunately, at least, Werner and me had not heard anything from
Apple
Corrected and functional code attached... [...]
Does that mean it now works for you?
Werner
___
Freetype mailing list
Freetype@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype
Thanks a lot for your work!
Also... there are a couple other patches included in this one, that
can / would be disabled by default, like zipped fonts, etc.
This is bad. Please don't mix different patches.
Another feature that I've enabled in this version of the patch is
one that makes
Uf, sorry, it seems that the download link have timed out. So
this
http://www.filefactory.com/file/b36458b/n/renderer_problem.zip is
the example app, and this
http://www.filefactory.com/file/b36458c/n/letter_g.png is how FT
renders glyphs.
Will have a look soon.
Werner
I would like to know if FreeType is used in any consumer or
enterprise printers either currently or in the past?
Yes, it is. This is what we've heard.
If it is possible can you divulge which printer manufactures and
models have FreeType as their main font renderer.
I don't know any.
Just an FYI... I've found a few issues with the patch I've
submitted here, as well as some additional enhancements. So at this
moment, I still don't think these modifications would be ready for
integration into Freetype.
OK. I'll wait :-)
Werner
as I was trying to compile freetype 2.4.2 I ran into this:
In file included from
/src/a/freetype-2.4.2/src/truetype/truetype.c:22:0:
/src/a/freetype-2.4.2/src/truetype/ttpic.c: In function
'tt_driver_class_pic_init':
/src/a/freetype-2.4.2/src/truetype/ttpic.c:53:40: error: 'TT_Err_Ok'
Please help this guy.
Werner
---BeginMessage---
Hello Werner,
I have been using freetype for some time and have come to my first
stumbling block: When using the image and font face caches, how can I
get the the full metrics of a glyph (metrics.horiBearingY, etc.)? It
seems that information
I think I've found a bug in the cff renderer algorithm or I'm doing
something seriously wrong. When rendering glyphs with cff outlines
(otf, pfb fonts) the control points which are located under the
baseline are connected with straight lines, for ttf fonts all the
glyphs are rendered
FreeType 2.4.3 has been released.
All users should upgrade.
It is available from
http://savannah.nongnu.org/download/freetype/
or
https://sourceforge.net/projects/freetype/files/
The latter site also holds older versions of the FreeType library.
See below for the relevant snippet
a
// buffer are implemented (yielding the same output).
//
// Due to a bug in the FreeType's direct rendering support you should use
// version 2.4.3 or newer to get correct results.
//
// Written Sept. 2010 by Róbert Márki gsm...@gmail.com,
// with slight modifications by Werner Lemberg
//
// Public
, then no since it is not implemented yet (but
there will be soon something into this direction).
- I tried to rasterize some outline extract from a glyph with Werner
Lemberg' example3 in the documentation; it works fine but there is
no antialias even if I have setted
- Is the name returned from FT_Get_GlyphName() suitable for use in
a PostScript file (ie: glyphshow)? Including for Unicode glyphs
(eg: CJK)?
- What's the difference between FT_HAS_GLYPH_NAMES and
FT_Has_PS_Glyph_Names()? The docs suggest there may be a
difference (re: TTF), but
I am working with ARM 9 BSP.
I want to cross compile My FreeType Application with
gcc-3.4.5-glibc-2.3.6 tool chain
My input
/opt/nxp/gcc-3.4.5-glibc-2.3.6/arm-linux-gnu/bin/arm-linux-gnu-gcc
-lfreetype -lm example1_working.c
but it gives error
The hashing macros in ftcache.h should be kept in future release? I
propose to enclose them by the conditional
FT_CONFIG_OPTION_OLD_INTERNALS.
Please do so. The arguments are convincing to me.
Werner
___
Freetype mailing list
I observed some differences in how fonts are rendered. Here is the
screen showing same text rendered with the same font family and font
size:
http://img842.imageshack.us/img842/3171/freetype.jpg
As you can see I used the most recent version of the library and
some older one. Which
In fact the entire display in my application is broken now. The
problem happens when hinting is enabled. If you turn off hinting,
the line weights will all look correct. Of course, then hinting
won't work.
Which font? In case it is not a public one, please send it to me
privately.
I can't tell you that without knowing details. Most important:
Which font? Do you see the artifacts with `ftview' also?
arial
no, I didn't try ftview.
Do you need any other details?
[Testing with arial.ttf version 3.00]
The first row in your image is arial if used with the autohinter.
It's hard to tell without more information. What font, at which
ppem size? How does your font look like with, say, ftdiff or
ftview?
Here are the Details:
FONT_NAME =Arial
FONT_STYLE =Regular
FONT_HEIGHT =12
Umm, I've asked for the ppem value, and you told me
It seems that this bug appears since a change between 2.3.9 and
2.3.10: [...]
Thanks in advance for investigating the problem. Since I don't have
access to a 64bit system, I unfortunately can't help much.
Werner
___
Freetype mailing list
I have an LGPL library (Version 3) in which I would like to use
Freetype. Can I link to freetype and still distribute my library as
a binary?
Is this true just for dynamic lining or statically as well ?
Good question. I don't know. The question is whether the FreeType
License (FTL) is
Hi sent the follow to the free software foundation [...]
I received the following reply. [...]
Thanks for telling us! Since this information is now in the mailing
list archive, people should actually find it if necessary.
Werner
___
Freetype
I am interested in being able to calculate the value, in 26.6
coordinates, where the scanlines (at a given ppem) intersect each
point in a given outline.
For instance, as a crude example just using pixels: If I'm dealing with
an outline of the letter T, at 8x5 px, I'm looking for a result
My second qustion is - Is it possible to generate outline letters
- letter only with outlines, without fill? - like this one Outline
letter
http://www.surfnetkids.com/images//tn-big-outline-letter-a.gif.
This is sort of demonstrated in file example2.cpp of the tutorial.
1. Will the Autohinter still exist in the future, even that now the
Bytecode Patents are legal to use?
Yes.
2. One thing that, in my mind, is really bad about the Autohinter
that when i compare a Text written in Times New Roman and
Liberation Serif, which should have the same
No. Metrics and glyph shapes have no direct relation. Normally,
TrueType fonts contain special bytecode which controls the glyph
width. To make Times New Roman and Liberation Serif have the same
width, the bytecode for controlling the width must do the same.
The autohinter doesn't access
In case the unhinted metrics for Times New Roman and Liberation Serif
are identical, they will stay identically on paper, regardless whether
you use the autohinter or the bytecode interpreter for rendering
glyphs on screen. In case you get different results, something is
severely broken in
But with Freetype2 + Autohint, the line with the exact same text is
in one font longer, than in the other one.
Maybe this is a problem with Liberation Serif itself.
I just can repeat: It's not a `problem' at all.
Are there any fonts that even with Autohinter on, can replace the M$
Fonts
Erik made me aware of his own blog entries:
http://www.infinality.net/forum/viewtopic.php?f=2t=21p=175#p175
Since he apparently has forgotten to mention them here on the lists, I
do it now :-)
Werner
___
Freetype mailing list
I have used freetype 2.3.9 to display Indic/arabic language using
gtk. It displays correctly with its contextual interpretation. But
when I changed to freetype-2.3.10, I can see only original form of
each glyph, thus without any contextual interpretation.
Test the offending font with, say,
I am trying to compile freetype 2.4.3 and its demos on VisualC++
2010 Express under Windows 7 64 bit with use of FTJAM 2.5.2.
I'm very sorry, but the only developer who has used ftjam actively,
David Turner, basically no longer works on FreeType. In case you can
provide patches (to the
FreeType 2.4.4 has been released.
All users should upgrade.
It is available from
http://savannah.nongnu.org/download/freetype/
or
https://sourceforge.net/projects/freetype/files/
The latter site also holds older versions of the FreeType library.
See below for the relevant snippet
If you do not mind, could you please tell me what are improvements
of freetype 2.3.7 to 2.3.10/11 ?
Any performance improvement, if so how to measure ?
Have a look in the CHANGES file! Note that the current version is
2.4.4 (released yesterday). Some speed improvements have been added
in
Céline,
please *never* send copyrighted material (in your case, the file
Font_U.ttf) to a public mailing list! For this reason, I can't
forward your mail to the freetype mailing list (freetype-devel is
rather not for FreeType users).
I have a question about umlauts.
When I use letter ü
[CCed to the freetype mailing list]
I want to modify Juce to use Freetype to extract glyph outlines.
Juce is a multiplatform GUI toolkit with some pretty nice features,
see http://rawmaterialsoftware.com/
Currently, I get an error while accessing this page...
Does hinting affect the
In October I wrote:
I have tested it and it works. All the glyphs rendered with
FT_RASTER_FLAG_DIRECT flag look the same as if they were rendered
onto a bitmap.
Unfortunately, this isn't true. Compiling the attached example4.cpp
and comparing
./example4
I've noticed you changed the filename of the example to
example4.cpp, you should modify the include directive at the end of
the file too to be able to build it. The generated file will be
called example4.moc in this case. So this line:
#include main.moc
should be changed to
I know that you can use FT_Get_Kerning() if you want to retrieve the
kerning for a specific pair of glyphs but what if I just want to
loop over all of the available kerning pairs and get the
information?
Assuming that you are using TrueType fonts, the easiest way is to
parse the `kern' table
How do I parse the 'kern' table? I have looked through freetype.h
and I do not see any functions that provide access to this table.
You have to load it with FT_Load_Sfnt_Table, then write code to parse
it. See the OpenType specification.
http://www.microsoft.com/typography/otspec/
Does anyone know why CFF_MAX_CID_FONTS (maximum number of sub-fonts
in a CID-keyed file) is 32 in cfftypes.h?
It's arbitrary. Up to now I've never seen a font with more than 15
subfonts (hiragino).
I'm using a font in which fd_index.count == 53 [...]
Changing CFF_MAX_CID_FONTS to 64 seems
check your font whether my assumption is correct. I only have
`Helvetica Neue LT Pro 65 Medium' version 001.000 (from 2003), but
this is an OpenType font with CFF outlines.
Accidentally, I've also found `Helvetica Neue LT Com 65 Medium' (2.01
from 2006). My assumption was correct: The
From: Vinnie thev...@yahoo.com
Subject: Re: [ft] Bytecode hinter producing bad results, seems to be a
regression
Date: Sat, 1 Jan 2011 12:20:06 -0800 (PST)
The function FT_Get_Gasp tells you, for a given ppem, whether you
should render a glyph as monochrome (i.e., black-white) or with
So it seems that the font I have is unhinted, hence the small size.
No. It's hinted.
I just assumed that all TrueType/OpenType fonts that came from
Linotype or other well recognized foundries were loaded to the gills
with hints but it seems I am mistaken.
Helvetica originally is a Type 1
The trickyness is that you are trying to separate hinting
from rasterizing. As explained already, the TrueType
bytecode interpreter and the rasterizer do interact. It's
not intended to be handled separately.
I went through the trouble of tweaking my 3rd party library to
support rendering
[I don't have simkai.ttf, so I can't test.]
this is the result i render the chinese character '畠',I think the
outline get cropped, while the other fonts like 'simsun.ttf' does't
have this problem。the freetype version i used is 2.4.4
Zooming in, it rather looks like artifacts. Do you get the
ARM developers, please comment and help if possible!
Werner
---BeginMessage---
Hi Werner,
We used arm-linux-gcc3.4.1 to compile the freetype 244
the following error occurred:
/tmp/ccYNGbm3.s: Assembler messages:
/tmp/ccYNGbm3.s:7607: Error: register or shift expression expected -- `orr
[...] the chinese character '全',I think the outline get cropped,
while the other fonts like 'simsun.ttf' doesn't have this problem。
the freetype version i used is 2.4.4,thank you。
Thanks for the font link.
However, I can't repeat the problem with the current git version of
FreeType.
We were thinking about ways of making EFL support run-time italicization
of fonts/glyphs.
Minor nitpick: It is not possible to `italicize' a glyph: many italic
glyphs have different shapes compared to the upright version. What
you actually want to do is to slant the glyphs (`oblique type').
http://ardour.org/afonts.png
http://ardour.org/afonts-100.png
I get a `page not found'.
Werner
___
Freetype mailing list
Freetype@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype
i consider the upper section of the image to have inferior rendering
than the lower one. i'm trying to figure out how to build a version of
freetype that will render like the lower section. as an experiment, i
fetched fedora's source rpm, ripped out the tarball, applied all their
patches,
what i really meant was whether freetype's build is
environmentally-sensitive in some subtle ways.
All the configurable stuff (at compile time) is in ftoption.h.
Werner
___
Freetype mailing list
Freetype@nongnu.org
I use FT2.3.1 to parse IPA fonts - IPA Minchao.
This is more than three years old! The current FreeType version is
2.4.4...
The last parameter of function FT_Load_Glyph() was set to
FT_LOAD_DEFAULT, so that font glyph could be hinted before load out.
But metrics of output glyph seems wrong
Attached file is the example from FT.
Which parameters shall I give the demo program? What output do you
expect?
Font file of IPA Minchao is
too large, so download it self :( URL:
http://www.langsci.ucl.ac.uk/ipa/
Which one? Please provide a more precise link.
Werner
Ex. command line - example1.exe c:/ipam.ttf ahg
The result of my PC is attached file 're.jpg'.
example1.c was updated, please use the new attached one.
The result you get is correct. Attached is the glyph `h' as shown in
fontforge: All ASCII glyphs `float' above the base line instead of
401 - 500 of 5348 matches
Mail list logo