Version 0.8.1

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14392 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2002-09-01 21:37:00 +00:00
parent 3b2a0b7447
commit 0789fe9ede
8 changed files with 295 additions and 32 deletions

View file

@ -1,3 +1,10 @@
2002-08-30 Adam Fedor <fedor@gnu.org>
* Version: 0.8.1
* Documentation/GNUmakefile: Set dir for reference documentation
* Documentation/GNUmakefile.postamble: New file.
2002-08-30 00:11 Alexander Malmberg <alexander@malmberg.org>
* Source/NSBezierPath.m (-appendBezierPath:): Handle curves

View file

@ -64,31 +64,13 @@ BUGS_TEXI_FILES = version.texi
BUGS_TEXT_MAIN = todo.texi
BUGS_DOC_INSTALL_DIR = Developer/Gui/ReleaseNotes/$(VERSION)
-include Makefile.preamble
REF_DOC_INSTALL_DIR = $(GNUSTEP_INSTALLATION_DIR)/Documentation/Developer/Gui/Reference
-include GNUmakefile.preamble
-include GNUmakefile.local
include $(GNUSTEP_MAKEFILES)/documentation.make
-include Makefile.postamble
regenerate: $(DOCUMENT_TEXT_NAME)
mv $(TOP_DOC_FILES) ..
version.texi: ../Version
rm -f version.texi
echo '@set GNUSTEP-GUI-VERSION' $(GNUSTEP_GUI_VERSION) \
> version.texi
echo '@set GNUSTEP-GUI-GCC $(GNUSTEP_GUI_GCC)' \
>> version.texi
echo '@set GNUSTEP-GUI-BASE $(GNUSTEP_GUI_BASE)' \
>> version.texi
echo '@set GNUSTEP-GUI-LIBTIFF $(GNUSTEP_GUI_LIBTIFF)' \
>> version.texi
if [ $(GNUSTEP_GUI_FTP_MACHINE) ]; then \
echo '@set GNUSTEP-GUI-FTP-MACHINE $(GNUSTEP_GUI_FTP_MACHINE)' \
>> version.texi; fi
if [ $(GNUSTEP_GUI_FTP_DIRECTORY) ]; then \
echo '@set GNUSTEP-GUI-FTP-DIRECTORY $(GNUSTEP_GUI_FTP_DIRECTORY)' \
>> version.texi; fi
-include GNUmakefile.postamble

View file

@ -0,0 +1,95 @@
#
# GNUmakefile.postamble
#
# Copyright (C) 2002 Free Software Foundation, Inc.
#
# Author: Adam Fedor <fedor@gnu.org>
#
# This file is part of the GNUstep Gui Library.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; see the file COPYING.LIB.
# If not, write to the Free Software Foundation,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Things to do before compiling
# before-all::
# After building local documentation, we need to run the special makefile
# in the source directory to generate library reference documentation from
# the source code.
after-all::
$(MAKE) -C ../Source doc=yes
$(MAKE) -C Gui
# Things to do before installing
# before-install::
# Install the library reference documentaion manually
#
after-install::
rm -rf $(REF_DOC_INSTALL_DIR)
$(MKINSTALLDIRS) $(REF_DOC_INSTALL_DIR)
(cd Gui; $(TAR) cf - .) | \
(cd $(REF_DOC_INSTALL_DIR); $(TAR) xf -)
ifneq ($(CHOWN_TO),)
$(CHOWN) -R $(CHOWN_TO) \
$(REF_DOC_INSTALL_DIR)
endif
# Things to do before uninstalling
# before-uninstall::
# Things to do after uninstalling
after-uninstall::
rm -rf $(REF_DOC_INSTALL_DIR)
# Things to do before cleaning
# before-clean::
# Things to do after cleaning
# after-clean::
# Things to do before distcleaning
# before-distclean::
# Things to do after distcleaning
# after-distclean::
# Things to do before checking
# before-check::
# Things to do after checking
# after-check::
regenerate: $(DOCUMENT_TEXT_NAME)
mv $(TOP_DOC_FILES) ..
version.texi: ../Version
rm -f version.texi
echo '@set GNUSTEP-GUI-VERSION' $(GNUSTEP_GUI_VERSION) \
> version.texi
echo '@set GNUSTEP-GUI-GCC $(GNUSTEP_GUI_GCC)' \
>> version.texi
echo '@set GNUSTEP-GUI-BASE $(GNUSTEP_GUI_BASE)' \
>> version.texi
echo '@set GNUSTEP-GUI-LIBTIFF $(GNUSTEP_GUI_LIBTIFF)' \
>> version.texi
if [ $(GNUSTEP_GUI_FTP_MACHINE) ]; then \
echo '@set GNUSTEP-GUI-FTP-MACHINE $(GNUSTEP_GUI_FTP_MACHINE)' \
>> version.texi; fi
if [ $(GNUSTEP_GUI_FTP_DIRECTORY) ]; then \
echo '@set GNUSTEP-GUI-FTP-DIRECTORY $(GNUSTEP_GUI_FTP_DIRECTORY)' \
>> version.texi; fi

View file

@ -31,15 +31,24 @@ include $(GNUSTEP_MAKEFILES)/common.make
# The documents to be generated
DOCUMENT_NAME = Gui
Gui_GSDOC_FILES = Gui.gsdoc \
Gui_AGSDOC_FILES = \
Introduction.gsdoc \
DefaultsSummary.gsdoc \
LanguageSetup.gsdoc \
NSBundleAdditions.gsdoc \
NSCoderAdditions.gsdoc \
NSMutableAttributedStringAdditions.gsdoc \
NSMutableParagraphStyle.gsdoc \
NSStringAdditions.gsdoc \
Gui_AGSDOC_FLAGS = \
-DocumentationDirectory . \
-Declared AppKit \
-Standards YES \
-WordMap '{\
APPKIT_EXPORT=extern;APPKIT_DECLARE="";\
}' -Up Gui
Gui_DOC_INSTALL_DIR = Developer/Gui/Reference
-include GNUmakefile.preamble

View file

@ -19,10 +19,17 @@
to the basic concepts and use of the GNUstep GUI library - a free
software library compatible with the OpenStep Application Kit (tm).
</p>
<p>
Useful documentation for setting up GNUstep:
</p>
<list>
<item><uref url="DefaultsSummary.html">Available User Defaults</uref></item>
<item><uref url="LanguageSetup.html">Language Setup</uref></item>
</list>
<p>
We also have reference documentation for the classes, though this is
currently very sketchy, mostly consisting of listings of class
methods and the arguments they take -
methods and the arguments they take.
</p>
<list>
<item><uref url="NSActionCell.html">NSActionCell</uref></item>
@ -134,12 +141,6 @@
<item><uref url="GSTable.html">GSTable</uref></item>
<item><uref url="GSVbox.html">GSVbox</uref></item>
</list>
<p>
Miscellaneous documentation
</p>
<list>
<item><uref url="DefaultsSummary.html">Available User Defaults</uref></item>
</list>
</chapter>
</body>

View file

@ -0,0 +1,159 @@
<?xml version="1.0"?>
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 0.6.7//EN" "/usr/GNUstep/System/Libraries/Resources/DTDs/gsdoc-0_6_6.dtd" >
<gsdoc base="LanguageSetup">
<head>
<title>Using Traditional Chinese and Other Languages</title>
<author name="Yen-Ju Chen">
<url url="http://www.gnustep.org/developers/whoiswho.html"/>
</author>
<version>$Revision$</version>
<date>$Date$</date>
</head>
<body>
<chapter>
<heading>Using Traditional Chinese and Other Languages</heading>
<p>This is an introduction to using Traditional Chinese and
other languages in GNUstep. Note, however, that I have only tested
these instructions with Traditional Chinese of either BIG5 or
Unicode (iso10646-1) encoding. But since GNUstep is generally
internationalized, this introduction could be applied to other
languages with limited modification.</p>
<section>
<heading>Default Encoding</heading>
<p>
GNUstep uses Unicode internally. Everything it reads will be
converted into Unicode. It will assume that everything it reads is in
NSISOLatin1StringEncoding (iso8859-1) as the default encoding except
scripts with escape (\u) ahead. User can change the default encoding
by setting the environment variable <code>GNUSTEP_STRING_ENCODING</code>.
</p>
<p>For example, in bash:</p>
<example>
GNUSTEP_STRING_ENCODING = NSBIG5StringEncoding
export GNUSTEP_STRING_ENCODING
</example>
<p>Now, it will assume that everything it reads without an escape is
NSBIG5StringEncoding (BIG5). GNUstep will also write anything into
this default encoding. </p>
<p>There is a handy tool to convert between encodings:
cvtenc. Programmers should use this tool to convert property
lists to Unicode before releasing them.</p>
</section>
<section>
<heading>Input</heading>
<p>In XWindows, GNUstep use the XIM input method. Any XIM-server
should be able to input script into GNUstep. The way GNUstep knows
the encoding of the input is from the environment variable
<code>LC_CTYPE</code>. In order to input Traditional Chinese,
<code>LC_CTYPE</code> must be set for example, in .xinitrc</p>
<example>
LC_CTYPE=zh_TW.Big5
export LC_CTYPE
</example>
<p>Right now, GNUstep supports UTF8 and Big5 encoding in input. If it
doesn't work for your language, try to add more encoding support in
<code>-initWithDelegate:display:name:</code>
(back/Source/x11/XIMInputServer.m).</p>
</section>
<section>
<heading>Display</heading>
<p>Depending on the graphics library you use, GNUstep handles font
display slightly differently. You can choose the graphics library
when configuring the backend:</p>
<example>
./configure --enable-server=x11 --enable-graphics=xlib
</example>
<p>the argument <code>--enable-graphics</code> could be either
<code>xlib</code> or <code>art</code> for now. Personally I would
suggest using art, which offer better font management.</p>
<p>You can specify the font and size you want to use with
the GNUstep defaults system. For exmample:
</p>
<example>
defaults write NSGlobalDomain NSFont "Ar Pl Kaitim Big5"
defaults write NSGlobalDomain NSFontSize 16
</example>
<p>The font name should be the same as the font name of `xlsfonts`
output, but each word has to be capitalized. If you don't know
what font names GNUstep supports, use the font panel in Ink.app
to find out the font name.</p>
</section>
<section>
<heading>Xlib</heading>
<p>GNUstep will use a font cache in ~/GNUstep/Library/Font/Cache/
to store the fonts of XWindows. Everytime you add more fonts to
XWindows, you have to delete this cache and let the program build a
new one. When you specify the default font, GNUstep will
look it up in the font cache, and pick up the matched font in XWindows,
then use this font to display text. GNUstep also support Xft for
anti-aliased font display. Add GSFontAntiAlias=YES to your defaults
to activate it. In order to use Traditional Chinese properly, always
set it. In order to use Xft, you also need to set freetype or
xtt in your XF86Config (most of the time this is done for you.)</p>
<p>Here is the problem you might meet when using Chinese fonts
(arphic) in GNUstep:</p>
<p>Each font will be assigned as big-0 or iso8859-1
in fonts.dir by default, but actually arphic font is iso10646-1
encoding. XWindows usually does the encoding conversion internally. So
when you use "Ar Pl Kaitim Big5", you have a
chance of picking up either big5-0 or iso8859-1 encoding, and neither
works for GNUstep for unknown reason. The solution is:</p>
<list>
<item>Add iso10646-1 in fonts.dir, and it has to be in front of
big5-0. Order is important to pick the right one.</item>
<item>Set the default GSFontMask = *-iso* so that font cache
won't pick up the big5-0 encoding.</item>
</list>
<p>That's it. GNUstep should pick up the right font
(iso10646-1). Since the mapping between NSFont in GNUstep (without
encoding information) and font in XWindows (with encoding
information) may not be unique ("Ar Pl Kaitim Big5" could be
"-arphic-ar pl kaitim big5-*-*..-big5-0" or "-arphic-ar pl kaitim
big5-*-*..-iso8859-1" or "-arphic-ar pl kaitim
big5-*-*..-iso10646-1"), you have to put the iso10646-1 font in
front of other encodings and use GSFontMask to filter out other
possible choices so that GNUstep can pick up the correct one. And
for now, I can only use the iso10646-1 font for Chinese
display. Font with other encoding (including big5) does not work
and is not well-tested.</p>
<p>If you still have problems, look at the
back/Source/xlib/XftFont.m and dump the font name of NSFont and
encoding of the corresponding XWindows font. Sometimes the font
cache can't find the matched XWindows font, and sometimes the
encoding of the XWindows font is different from what Xft got. An
example of the latter is that Xft will think the encoding of
"-arphic-ar pl kaitim big5-*-*..-big5-0" is "apple-roman". Only
"-arphic-ar pl kaitim big5-*-*..-iso10646-1" can be recognized as
"iso10646-1" correctly. Therefore, make sure GNUstep picks the right
XWindows font.</p>
</section>
<section>
<heading>Art</heading>
<p>The art backend use freetype for font management, and
minimizes encoding problems. Simply add a Chinese font into your
font collection as with other fonts, and enjoy the beautiful Chinese
characters.</p>
</section>
<section>
<heading>Summary</heading>
<p>GNUstep supports internationalization and
localization. In a few steps, you should be able to use it with your
language.</p>
<list>
<item>Set <code>GNUSTEP_STRING_ENCODING</code> to read/write
locally encoded files, including Localizable.strings.</item>
<item>Set the correct <code>LC_CTYPE</code>. If your XIM-Server
doesn't support UTF8 or Big5 encoding, try to add your encoding
into XIMInputServer.m</item>
<item>Assign the font using the GNUstep defaults tool, and use
the art backend.</item>
</list>
</section>
</chapter>
</body>
</gsdoc>

View file

@ -9,12 +9,22 @@
The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSION}}.
@end ifclear
@section Noteworthy changes in version @samp{0.8.0}
@section Noteworthy changes in version @samp{0.8.1}
@itemize @bullet
@item Handle scaled curves correctly.
@item Handle alpha channel with images correctly
@item NSWindow frame string save without flipping coordinates.
@item NSSound implemented. gssnd sound server.
@item Spell checker starts correctly now.
@end itemize
@c ====================================================================
@c Keep the next line just below the list of changes in most recent version.
@ifclear ANNOUNCE-ONLY
@section Noteworthy changes in version @samp{0.8.0}
@section Noteworthy changes in version @samp{0.7.9}
@itemize @bullet

View file

@ -11,7 +11,7 @@ GNUSTEP_GUI_LIBTIFF=3.4
# The version number of this release.
GNUSTEP_GUI_MAJOR_VERSION=0
GNUSTEP_GUI_MINOR_VERSION=8
GNUSTEP_GUI_SUBMINOR_VERSION=0
GNUSTEP_GUI_SUBMINOR_VERSION=1
GNUSTEP_GUI_VERSION=${GNUSTEP_GUI_MAJOR_VERSION}.${GNUSTEP_GUI_MINOR_VERSION}.${GNUSTEP_GUI_SUBMINOR_VERSION}
VERSION=${GNUSTEP_GUI_VERSION}