Below is a selection of images that illustrates various aspects of XcgfK. Please CLICK ON THEM
to view the unscalled images! There are quite a few of them so use the scrollbar to see them all!. Also, please make sure that your browser window is large enough so that your brower will not distort the image.
Outline, Stroked, Bitmap and multi-colored fonts
Unlike many other text rendering systems, XcgfK provides excellent support for stroked fonts and
multi-colored fonts (both colored bitmap, outline and stroked) in addition to more traditional monochrome bitmap
and outline fonts.
PalmOs, Symbian, Mac OS X, WinCE, Win32, Linux
XcgfK supports a range of different platforms, including desktop computers like Windows, Mac and Linux, as well
as hand held devices like PalmPilot, WinCE and Symbian (cell/mobile phone). XcgfK is a system level
service on these platforms. An application would simply call the appropriate XcgfK api to let a low level
service on the platform handle all aspects of text rendering (including any graphics operations, language
support etc). As such, an application could be completely oblivious to all graphics rendering specifics
of a platform when using XcgfK. (You could for example write an application without using a single
call to GDI on Windows, X Windows on Linux or Quickdraw/Quartz on Mac.)
Monochrome, Grayscale and RGB sub-pixel rendering
These are pretty basic samples. As you can see, you may render text with monochrome, grayscale or rgb (sub-)pixels (e.g. colors). You need an LCD screen for this to look really good. Also, the samples include text
at a pretty small point size because that kind of text is the hardest to show nicely. Also, XcgfK is intended to be used on devices with limited screen space where text must be small to fit.
Line and page layout formatting
XcgfK supports rendering multiple lines of text with a single API call. Formatting for such call include
being able to set the color, including the transparency (Please note that the red and blue text in the first sample above is blended with the background). Formatting also include being able to align the text to the left, center, right as well as justify the
text. The length of a line is guaranteed to scale linearly even if width of individual characters does not.
For example, you would be able to scale page size and font size without causing a reflow of lines of a paragraph.
Further more, XcgfK also support clipping single line of text by a character or by a word, both with and
without trailing ellipses.
Various font formats
XcgfK supports quite a few different font formats. This support is quite extensive both in depth and breadth.
For example, pretty much all PostScript font formats are supported, even stroke based fonts and PostScript printer fonts that require a PostScript interpreter (e.g. a printer device). Please note also that the bitmap
fonts are scaled and rendered just like an outline or stroked fonts. (Note: Quality/hinting of vectorized
bitmap fonts will be available in August, 2006).
Drawing images, strokes and shapes
XcgfK draws filled squares, pixels, filled and stroked paths as well as text. Please note that basic graphics
is also done with RGB-subpixel rendering, and that all graphics operation may be blended with the background
(colors are specified with a value where the "alpha" is used to specify the colors opacity).
Language support
One of the intentions with XcgfK is to provide support for most languages. You'll find samples of more
demanding languages above, including
Arabic, Bangla, Hebrew, Hindi, Japanese, Korean, Telugu, Tamil, Simplified Chinese and Vietnamese.
Small caps, kerning, ligatures and more
There is a standard called OpenType layout that is used to provide typographical formatting styles, such as use of kerning pairs, small-caps, fractions and other style
that give characters alternative shapes or positions. With XcgfK, it is quite easy to apply these styles. It's
actually as easy to use these styles as it is to not use them. The same API would be used by an
application when drawing text. The only difference is whether a list of styles (called "features" in OTL)
are provided with the call or not. (Try switching quickly between the second and third image above to see the affect of using kerning pairs). The fourth sample was created by calling the same API in XcgfK as the third sample, except one more argument was provided to turn on the "small caps" style.
A note about quality —
Please note that the result seen above are unfortunately *not* as good as
you would get if you were using an XcgfK application on you favorite platform.
Still, you can be sure that
XcgfK is at least this good.
As you probably already know, images typically look
slightly different on different platforms. Both colors and in particular brightness
can be quite different on platforms like cell phones, PDAs, Mac OS X
and Windows, monitors brands/types and graphics cards.
It's typically not a problem since "different" doesn’t necessarily mean
better or worse. For certain type of images like real photos and text, you do know
what the image should look like though. Getting the correct brightness and saturation
is essential in making that kind of images look good.
Further more, people's preferences and expectations varies greatly,
with respect to sensitivity to contrast and colors. For example, some people love RGB
sub-pixel rendering (what Microsoft calls Cleartype and Adobe calls Cooltype) while
other hate it.
XcgfK address these quite fundamental differences on different
platforms or different users. XcgfK is essentially "tuned" for the characteristics of
a platform (gamma correction, use of colors, etc) as well as users’ preferences.
To make a long story short — you can't see the benefit of that here. What
you get here are images that look pretty good on Mac OS X with an LCD screen
and a bit worse on other platforms.
|