Text engine for OpenGL renderer

Ben Abbott bpabbott at mac.com
Sat Jun 27 09:46:26 CDT 2009


On Jun 26, 2009, at 4:19 PM, Michael Goffioul wrote:

> Hi,
>
> For those interested, I just commited a new Freetype/Fontconfig  
> based text
> engine for the OpenGL backend. At the moment, it's very basic. It's  
> mainly
> a skeleton that contains enough to render tick labels, axes labels,  
> titles and
> simple text objects. It will be enhanced later on.
>
> Note that if fontconfig is not available, the engine uses a hardcoded
> font, which
> defaults to Verdana under Win32 platform. As I didn't what font to  
> use under
> UNIX platform, I left that part empty. This means that if you're  
> running UNIX
> without fontconfig (development package), text rendering will  
> probably not work.
>
> Enjoy,
> Michael.

Michael / others,

I have fontcofig and freetype, but ...

octave:1> backend("fltk")
octave:2> plot(1:10)
octave:3> error: draw_text: cannot render text, Freetype library not  
available
error: draw_text: cannot render text, Freetype library not available
error: draw_text: cannot render text, Freetype library not available
error: draw_text: cannot render text, Freetype library not available
error: draw_text: cannot render text, Freetype library not available
error: draw_text: cannot render text, Freetype library not available
panic: Bus error -- stopping myself...
attempting to save variables to `octave-core'...
save to `octave-core' complete

I'm using Fink as my package manager.

$ fink list fontconf
Information about 9092 packages read in 1 seconds.
  i   fontconfig-path      20081230-3      Add custom directories to  
fontconfig search
  p   fontconfig1                          [virtual package]
  p   fontconfig1-dev                      [virtual package]
  p   fontconfig1-shlibs                   [virtual package]
  i   fontconfig2-dev      2.4.1-108       Font configuration library
  i   fontconfig2-shlibs   2.4.1-108       Fontconfig 2, shared libs  
(dummy)
  i   system-pkgconfig-fo  2.6.0-1         [virtual pkgconfig package  
representing fontconfig]

$ fink list freetype
Information about 9092 packages read in 1 seconds.
      freetype             1.3.1-11        TrueType font rendering  
library, version 1
      freetype-bin         1.3.1-11        TrueType font rendering  
library, version 1
      freetype-hinting     1.3.1-11        TrueType font rendering  
library, version 1, hinting en...
      freetype-hinting-bi  1.3.1-11        TrueType font rendering  
library, version 1, hinting en...
      freetype-hinting-sh  1.3.1-11        TrueType font rendering  
library, version 1, hinting en...
  i   freetype-shlibs      1.3.1-11        TrueType font rendering  
library, version 1
      freetype2            2.1.4-12        TrueType font rendering  
library, (dummy)
  p   freetype2-dev                        [virtual package]
      freetype2-hinting    2.1.4-12        TrueType font rendering  
library, (dummy)
  i   freetype2-hinting-d  2.1.4-12        TrueType font rendering  
library, headers
  i   freetype2-hinting-s  2.1.4-12        TrueType font rendering  
library, shared libs
  p   freetype2-shlibs                     [virtual package]
  i   freetype219          2.3.8-2         TrueType font rendering  
library, headers
  i   freetype219-default  2.3.8-2         Transient upgrader package
  i   freetype219-shlibs   2.3.8-2         TrueType font rendering  
library, shared libs
  i   system-pkgconfig-fr  9.20.3-1        [virtual pkgconfig package  
representing freetype2]

The results of ./configure are ...

Octave is now configured for i386-apple-darwin9.7.0

   Source directory:     .
   Installation prefix:  /sw
   C compiler:           gcc  -mieee-fp  -Wall -W -Wshadow -Wformat -g  
-O2
   C++ compiler:         g++  -mieee-fp -I/sw/include/freetype2 -I/sw/ 
include -I/usr/X11/include    -Wall -W -Wshadow -Wold-style-cast - 
Wformat -g -O2
   Fortran compiler:     /sw/bin/gfortran -g -mieee-fp
   Fortran libraries:    /sw/lib/gcc4.4/lib/libgfortran.dylib
   BLAS libraries:
   FFTW libraries:       -lfftw3 -lfftw3f
   GLPK libraries:       -lglpk
   UMFPACK libraries:    -lumfpack
   AMD libraries:        -lamd
   CAMD libraries:       -lcamd
   COLAMD libraries:     -lcolamd
   CCOLAMD libraries:    -lccolamd
   CHOLMOD libraries:    -lcholmod
   CXSPARSE libraries:   -lcxsparse
   ARPACK libraries:
   QRUPDATE libraries:	
   HDF5 libraries:       -lhdf5
   CURL libraries:       -lcurl
   REGEX libraries:      -L/sw/lib -lpcre
   QHULL libraries:	-lqhull
   OPENGL libraries:     -L/usr/X11/lib -lfontconfig -lftgl -L/sw/lib - 
lfreetype -lz -Wl,-framework,CoreServices -Wl,- 
framework,ApplicationServices -Wl,-framework -Wl,OpenGL
   FLTK backend libs:    -L/sw/lib/fltk-aqua/lib -L//sw/lib -L/sw/lib - 
lfltk_gl -framework AGL -framework OpenGL -lfltk -lpthread -framework  
Carbon -framework ApplicationServices
   X11 include flags:    /usr/X11/include
   X11 libraries:        -L/usr/X11/lib -lX11
   CARBON libraries:     -Wl,-framework -Wl,Carbon
   LIBS:                 -lreadline  -lncurses -Wl,- 
framework,Accelerate,-dylib_file,/System/Library/Frameworks/ 
Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/ 
libBLAS.dylib:/System/Library/Frameworks/Accelerate.framework/Versions/ 
A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib -lhdf5 -lz -lm
   Default pager:        less
   gnuplot:              gnuplot
   Magick config:        GraphicsMagick++-config

   Do internal array bounds checking:  false
   Build static libraries:             false
   Build shared libraries:             true
   Dynamic Linking:                    true (dyld)
   Include support for GNU readline:   true
   64-bit array dims and indexing:     false

configure: WARNING: A BLAS library was detected but found incompatible  
with your Fortran 77 compiler.  The reference BLAS implementation will  
be used. To improve performance, consider using a different Fortran  
compiler or a switch like -ff2c to make your Fortran compiler use a  
calling convention compatible with the way your BLAS library was  
compiled, or use a different BLAS library.
configure: WARNING: qrupdate not found. The QR & Cholesky updating  
functions will be slow.
configure: WARNING: arpack not found. This will result in a lack of  
the eigs function.
configure:

NOTE: libraries may be skipped if a library is not found OR
       if the library on your system is missing required features.

Does anyone have some insight as to what is wrong?

Ben



More information about the Octave-maintainers mailing list