How can Graphics Magick support Chinese fonts under FreeBSD?

Time:2019-4-4

1. Installation:

pkg install GraphicsMagick

2. View compilation parameters:

Focus on the scarlet letter part, which determines the storage path of windows fonts, if there is no such path in the system, it is mkdir.

Note: FreeBSD 10.3 changed this default path, which was previously under / usr / local / lib / X11, and now is more reasonable in / usr / local / share.

# gm -version
GraphicsMagick 1.3.23 2015-11-07 Q16 http://www.GraphicsMagick.org/
Copyright (C) 2002-2015 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.
Feature Support:
Native Thread Safe yes
Large Files (> 32 bit) yes
Large Memory (> 32 bit) yes
BZIP yes
DPS no
FlashPix no
FreeType yes
Ghostscript (Library) no
JBIG yes
JPEG-2000 yes
JPEG yes
Little CMS yes
Loadable Modules no
OpenMP yes (201107)
PNG yes
TIFF yes
TRIO no
UMEM no
WebP yes
WMF yes
X11 yes
XML yes
ZLIB yes
Host type: amd64-portbld-freebsd10.1
Configured using the command:
./configure '--enable-shared' '--enable-static' '--with-windows-font-dir=/usr/local/share/fonts/webfonts' '--without-perl' '--without-dps' '--without-fpx' '--with-threads' '--enable-onmp' '--disable-openmp-slow' '--with-quantum-depth=16' '--with-webp' '--with-wmf' '--with-x' '--with-xml' '--x-libraries=/usr/local/lib' '--x-includes=/usr/local/include' '--prefix=/usr/cal' '--localstatedir=/var' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' '--build=amd64-portbld-freebsd10.1' 'build_alias=amd64-portbld-freebsd10.1' 'CC=gcc48' 'CFLAGS=-O2 -pip -isystem /usr/local/include -fstack-protector -Wl,-rpath=/usr/local/lib/gcc48 -fno-strict-aliasing' 'LDFLAGS= -L/usr/local/lib -fstack-protector -Wl,-rpath=/usr/local/lib/gcc48 -L/usr/lal/lib/gcc48' 'LIBS=' 'CPPFLAGS=-isystem /usr/local/include' 'CPP=cpp48' 'CXX=c++' 'CXXFLAGS=-O2 -pipe -isystem /usr/local/include -fstack-protector -Wl,-rpath=/usr/local/lib/gcc48 -fno-rict-aliasing -isystem /usr/local/include -Wl,-rpath=/usr/local/lib/gcc48'
Final Build Parameters:
CC = gcc48 -std=gnu99
CFLAGS = -fopenmp -O2 -pipe -isystem /usr/local/include -fstack-protector -Wl,-rpath=/usr/local/lib/gcc48 -fno-strict-aliasing -Wall -D_THREAD_SAFE
CPPFLAGS = -isystem /usr/local/include -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libxml2
CXX = c++
CXXFLAGS = -O2 -pipe -isystem /usr/local/include -fstack-protector -Wl,-rpath=/usr/local/lib/gcc48 -fno-strict-aliasing -isystem /usr/local/include -Wl,-rpath=/usr/local/lib/gcc48 -D_TEAD_SAFE
LDFLAGS = -L/usr/local/lib -fstack-protector -Wl,-rpath=/usr/local/lib/gcc48 -L/usr/local/lib/gcc48 -L/usr/local/lib
LIBS = -ljbig -lwebp -llcms2 -ltiff -lfreetype -ljasper -ljpeg -lpng16 -lwmflite -lXext -lX11 -llzma -lbz2 -lxml2 -lz -lm -lgomp -lpthread

3. Upload Chinese fonts directly in the c: windows fonts directory. Upload at least two, one English font and one Chinese font. It can be arial. TTF and simsun. TTF SIM series. Of course, you can also upload more than one.

4. Edit the font configuration file, add font information at the end, Arial and other English fonts default in, just add the uploaded Chinese font, each font file needs to add a section:

/usr/local/lib/GraphicsMagick/config # vi type-windows.mgk

      name="simli"
      fullname="simli"
      family="simli"
      weight="400"
      style="normal"
      stretch="normal"
      glyphs="/usr/local/share/fonts/webfonts/simli.ttf"
      />