Mercurial > hg > octave-lyh
view etc/README.Cygwin @ 17280:8ce6cdd272eb
Support TeX elements in FreeType renderer.
* libinterp/corefcn/txt-eng.cc: New file. Contains mapping from symbol
name to character code, in Unicode and MS symbol.
* libinterp/corefcn/modules.mk (COREFCN_SRC): Add txt-eng.cc.
* libinterp/corefcn/oct-tex-lexer.ll: Add "\n" to rules applicable to
".", as
the latter does not include new line characters.
* libinterp/corefcn/oct-tex-parser.yy: Remove debug statements.
* libinterp/corefcn/txt-eng.ft.cc (gripe_missing_glyph,
gripe_glyph_render): Change signature from char to FT_ULong.
(ft_render::ft_render): Adapt to new/removed members.
(ft_render::~ft_render): Remove use of fonts member.
(ft_render::set_font): Likewise. Use font instead.
(ft_render::push_new_line): Likewise. Change meaning of yoffset and
initialize line_yoffset.
(ft_render::update_line_bbox): New method.
(ft_render::set_mode): Change meaning of yoffset and initialize
line_yoffset.
(ft_render::process_character): New method.
(ft_render::visit(text_element_string)): Use it.
(ft_render::visit(text_element_list),
ft_render::visit(text_element_subscript),
ft_render::visit(text_element_superscript),
ft_render::visit(text_element_color),
ft_render::visit(text_element_fontsize),
ft_render::visit(text_element_fontname),
ft_render::visit(text_element_fontstyle),
ft_render::visit(text_element_symbol)): New methods.
(ft_render::set_color): Use color member instead of red/green/blue.
* libinterp/corefcn/txt-eng-ft.h (ft_render::visit(text_element_list),
ft_render::visit(text_element_subscript),
ft_render::visit(text_element_superscript),
ft_render::visit(text_element_color),
ft_render::visit(text_element_fontsize),
ft_render::visit(text_element_fontname),
ft_render::visit(text_element_fontstyle),
ft_render::visit(text_element_symbol)): New methods.
(ft_render::update_line_bbox, ft_render::process_character): New
methods.
(ft_render::current_face): Removed method.i
(ft_render::font): New member, replaces obsolete ft_render::fonts.
(ft_render::line_yoffset): New member.
(ft_render::color): New member, replaces obsolete red, green and blue.
(ft_render::ft_font::ft_font()): Implement default constructor.
(ft_render::ft_font::operator=): Fix incorrect use of FT_Reference_Face
return value.
(ft_render::ft_font::is_valid): New method.
* libinterp/corefcn/txt-eng.h (class text_element_symbol, class
text_element_fontname, class text_element_fontsize, class
text_element_fontname, class text_element_fontstyle, class
text_element_color): Add forward definition.
(text_element_symbol::invalid_code): New enum.
(text_element_symbol::code): New member.
(text_element_symbol::text_element_symbol): Initialize it.
(text_element_symbol::get_symbol_code): New method.
(text_element_fontstyle::get_fontstyle): New method.
(text_element_fontname::get_fontname): Renamed from fontname.
(text_element_fontsize::get_fontsize): Renamed from fontsize.
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Sun, 18 Aug 2013 16:36:46 -0400 |
parents | 2f05228cb959 |
children |
line wrap: on
line source
Starting with version 3.0.1, Octave is once again part of the normal net distribution of Cygwin, available from http://www.cygwin.com. It is possible to build Octave from source on Windows systems with Cygwin, but with the old gcc-3.4.4-3 compiler there are some performance problems related to the way C++ exception handling is implemented. This is a known problem with a long history and it is STRONGLY encouraged to use gcc-4.3.2-1 or later. Current binary versions are built with gcc-4.5.3-3. ------- SUGGESTED CONFIGURATION --------------------------- The latest development Octave development sources (octave-3.5.91+) are built with: configure --enable-shared \ --enable-float-truncate \ CC=gcc-4 F77=gfortran-4 CXX=g++-4 CPP=cpp-4 lt_cv_deplibs_check_method=pass_all \ LDFLAGS=-Wl,-no-undefined "--enable-float-truncate" is needed for the following bug: http://thread.gmane.org/gmane.comp.gnu.octave.bugs/12361/focus=12404 Without it, one of the quadgk test will fail as "a=a" could be false due to truncation problems with complex numbers. "lt_cv_deplibs_check_method=pass_all" is needed to bypass incorrect libtool detection of system capabilities and to allow shared libs building. "LDFLAGS=-Wl,-no-undefined" is better than previous "LDFLAGS=-no-undefined" as gcc-4 is now complaining about unknown command and the "undefined" is for the linker. The additional patch used for 3.4.3-3 package can also be needed for 3.6.x (see below). ------- SUGGESTION FOR FORK ISSUE -------------------------- The build process can fails in building images for documentation due to fork issue of the octave dll just built. In such case I suggest to rebase the built dll's with: $ find build_tree -name "*.dll" > rebase_list and after closing all cygwin process, from a dash shell $ rebaseall -s 'dll|so|oct' -T /full_path/rebase_list After rebasing the "make" should be able to complete the creation of the images and the documentation. ------------------------------------------------------ Octave-3.4.3-3 package was built using: configure --libexecdir=/usr/lib \ --enable-shared \ --enable-float-truncate \ F77=gfortran-4 \ lt_cv_deplibs_check_method=pass_all \ LDFLAGS=-no-undefined plus and additional patch to solve a specific cygwin fltk print issue, see: https://savannah.gnu.org/bugs/?31641 Octave-3.2.4 was built using: configure --enable-shared \ --without-fltk \ --without-framework-opengl \ CC=gcc-4 F77=gfortran-4 CXX=g++-4 CPP=cpp-4 CFLAGS="-Dtimezone=_timezone" ------------------------------------------------------ Current Cygwin package maintainer for Octave: Marco Atzeri http://matzeri.altervista.org Marco Atzeri marco.atzeri@gmail.com Italy Last updated: Tue Jan 3 14:40:58 WEST 2012