HarfBuzz-2.9.0
      
      
        
          Introduction to Harfbuzz
        
        
          The HarfBuzz package contains an
          OpenType text shaping engine.
        
        
          This package is known to build and work properly using an LFS-11.0
          platform.
        
        
          Package Information
        
        
        
          HarfBuzz Dependencies
        
        
          Recommended
        
        
          gobject-introspection-1.68.0
          (required if building GNOME), GLib-2.68.4 (required for Pango), Graphite2-1.3.14 (required for building
          texlive-20210325 or LibreOffice-7.2.0.4 with system harfbuzz),
          ICU-69.1, and
          FreeType-2.11.0 (after HarfBuzz-2.9.0 is
          installed, reinstall FreeType-2.11.0)
        
        
          Optional
        
        
          Cairo-1.17.4 (circular: build cairo and all its
          recommended dependencies, including harfbuzz, first, then rebuild
          harfbuzz if the cairo backend is needed), git-2.33.0, GTK-Doc-1.33.2, FontTools
          (Python 3 module, for the testsuite), and ragel
        
        
          ![[Warning]](../images/warning.png) 
          
            Warning
          
          
            Recommended dependencies are not strictly required to build the
            package. However, you might not get expected results at runtime
            if you don't install them. Please do not report bugs with this
            package if you have not
            installed the recommended dependencies.
          
         
        
          User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/harfbuzz
        
       
      
        
          Installation of HarfBuzz
        
        
          Install HarfBuzz by running the
          following commands:
        
        mkdir build &&
cd    build &&
meson --prefix=/usr        \
      --buildtype=release  \
      -Dgraphite=enabled   \
      -Dbenchmark=disabled &&
ninja
        
          To test the results, issue: ninja
          test.
        
        
          Now, as the root user:
        
        ninja install
       
      
        
          Command Explanations
        
        
          --buildtype=release:
          Specify a buildtype suitable for stable releases of the package, as
          the default may produce unoptimized binaries.
        
        
          -Dgraphite=enabled: This
          switch enables Graphite2 support,
          which is required for building texlive-20210325 or LibreOffice-7.2.0.4 with system harfbuzz.
        
        
          -Dbenchmark=disabled: This
          switch disables downloading and building the google-benchmark subproject, which requires
          git-2.33.0,
          and is of no use for non developpers.
        
        
          -Ddocs=false: If GTK-Doc-1.33.2 is
          installed, the documentation is built and installed. This switch
          prevents that.
        
       
      
        
          Contents
        
        
          
            
              Installed Programs:
              hb-ot-shape-closure, hb-shape, hb-subset,
              and hb-view (only if cairo is installed)
            
            
              Installed Libraries:
              libharfbuzz.so, libharfbuzz-gobject.so,
              libharfbuzz-icu.so, and libharfbuzz-subset.so
            
            
              Installed Directories:
              /usr/{include,lib/cmake,share/gtk-doc/html}/harfbuzz
            
           
         
        
          
            Short Descriptions
          
          
            
              
              
            
            
              
                | 
                    hb-ot-shape-closure
                   | 
                    gives the set of characters contained in a string,
                    represented as single characters and/or single character
                    names. Example: hb-ot-shape-closure
                    /usr/share/fonts/dejavu/DejaVuSans.ttf "Hello
                    World."
                   | 
              
                | 
                    hb-shape
                   | 
                    is used for the conversion of text strings into
                    positioned glyphs
                   | 
              
                | 
                    hb-subset
                   | 
                    is used to create subsets of fonts, and display text
                    using them
                   | 
              
                | 
                    hb-view
                   | 
                    displays a graphical view of a string shape using a
                    particular font as a set of glyphs. The output format is
                    automatically defined by the file extension, the
                    supported ones being ansi/png/svg/pdf/ps/eps. For
                    example: hb-view
                    --output-file=hello.png
                    /usr/share/fonts/dejavu/DejaVuSans.ttf "Hello
                    World."
                   | 
              
                | 
                    libharfbuzz.so | 
                    is the HarfBuzz text shaping library
                   | 
              
                | 
                    libharfbuzz-gobject.so | 
                    provides GObject integration for the HarfBuzz text
                    shaping library
                   | 
              
                | 
                    libharfbuzz-icu.so | 
                    provides ICU integration for the HarfBuzz text shaping
                    library
                   | 
            
          
         
       
      
        Last updated on