Giter Site home page Giter Site logo

fontmatrix / fontmatrix Goto Github PK

View Code? Open in Web Editor NEW
208.0 208.0 35.0 4.54 MB

Free font collections manager for Linux, Mac and Windows

License: GNU General Public License v2.0

Python 0.75% C++ 68.87% Shell 0.11% C 23.16% CSS 0.22% JavaScript 0.08% Awk 0.04% CMake 1.77% Makefile 0.05% M4 0.05% HTML 4.75% Roff 0.15%
fonts

fontmatrix's Introduction

Fontmatrix

Screenshot

Fontmatrix is a font management application for Linux, macOS, and Windows.

It helps keeping your font collection in order, allowing you to enable and disable availability of fonts and font families in your system. This is typically in demand by designers who tend to have huge collections of typefaces.

Searching for the right font in Fontmatrix is easy thanks to advanced support for PANOSE and user defined filters, as well as tags.

Fontmatrix is also useful for type designers and enthusiasts, because it simplifies testing of OpenType features and allows comparing fonts glyph by glyph which is extremely useful for learning type design.

There is an extremely low-traffic mailing list available:

https://www.mail-archive.com/[email protected]/maillist.html

The project was originally developed by Pierre Marchand between 2007 and 2011. It is currently in maintenance mode and isn't worked on by any actual programmer.

Windows and macOS builds require new contributors. Flatpak build is available on Flathub, AppImage build could be created by interested contributors.

fontmatrix's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fontmatrix's Issues

Fontmatrix deindents sample text (gobbles spaces/whitespace at start of line)

I appreciate Fontmatrix enormously, especially because of "View all mapped glyphs", and the fact that you can set sample text - AND this sample text will not be rendered with fallback glyphs, so one can see exactly what can be rendered by a given font. Thank you so much for this!

I have, however, found a but which is kind of a dealbreaker for me, as I really mostly use it to evaluate monospace fonts for coding. So consider the following text string - which represents a table, counting on the fact that spaces have the same width as characters in monospace fonts:

       X  Y  Z 
A  O   ×  ×  × 
   M1  ×  ×  × 
   M2  ×  1  × 
B  O   ×  ×  × 
   M1  ×  2  × 
   M2  ×  ×  × 
C  O   ×  ×  4 

Now, if I enter this as a sample text in Fontmatrix, and try to view it with a monospace font, I get this (this is on fontmatrix 0.9.99 on Ubuntu 20.04):

fontmatrix

That is - the rendered "table text" is not aligned, even if viewed with monospaced fonts - because something in Fontmatrix "gobbled" the spaces at the beginning of the line (the spaces are still there in the entry field for the text, in the Samples window to the right).

It would be great if Fontmatrix could render paragraphs of text, without gobbling up any spaces at the start of a line - then it can be also used to evaluate monospace fonts for "text tables", code, etc.

Font list boxes are too close together

The Font list item boxes in the main window are very tight and the font name under the box is partially hidden under the box below it, as in the screenshot.

fontmatrix_issue

new release

Could you kindly do a new git release, please? It makes no sense, that AUR users who install the 'stable' package don't have the icu fix included...
Thank you.

Allow external harfbuzz and libpuzzle

It is desirable to allow using of pre-installed harfbuzz and libpuzzle (like it is done for freetype) instead of force-building duplicates. Both are available in Macports and likely elsewhere, and some users may have built those manually.

location of fontmatrix repository / dependencies

On this install instructions for Debian/Ubuntu:

https://github.com/fontmatrix/fontmatrix/blob/master/debian-ubuntu-install.txt

It says:

then we install the various build dependencies already known by the package database by typing:
sudo apt-get build-dep fontmatrix

However, using Debian9/LMDE3 the standard repositories do not seem to have the fontmatrix package. Please advise as to which repositories to point to. My main problem is not having a proper QT environment, according to the cmake error.

Building with Qt5?

Hi all,
Given that qt4 has been EOL for 4 years now and many Linux distros don't even offer qt4 packages, has anyone tried to compile Fontmatrix with qt5? Fontmatrix is the only program on my machine that still requires qt4 and it's a massive pain to update. Today I attempted to update qt4 but I've run into a bunch of issues since the toolchain is now unstable and things fail to build.

Anyway, I'm wondering what others are doing or is this program now abandonware too.
Thanks!

Help file is completely different to the app

Hi all.
Just downloaded fontmatrix today, and started reading the help file because I couldn't intuitively work out how to get anything done.
But it seems like the documentation is completely at odds with the way the app presents itself.
For the record, I'm on the following hardware:

-Computer-
Processor : AMD Ryzen 7 2700X Eight-Core Processor
Memory : 32808MB (2374MB used)
Machine Type : Desktop
Operating System : Debian GNU/Linux 12 (bookworm)
User Name : bruce (Unknown)
Date/Time : Wed 10 Jan 2024 21:00:51
-Display-
Resolution : 3840x1080 pixels
OpenGL Renderer : NVIDIA GeForce RTX 3070/PCIe/SSE2
X11 Vendor : The X.Org Foundation
-Audio Devices-
Audio Adapter : USB-Audio - Scarlett 18i20 USB

Software/OS:

-Version-
Kernel : Linux 6.1.0-17-amd64 (x86_64)
Version : #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30)
C Library : GNU C Library / (Debian GLIBC 2.36-9+deb12u3) 2.36
Distribution : MX Linux

fontmatrix version: 0.9.100

Just as an example, about the Menu bar, the help file says this:

"There is nothing special about menu bar in Fontmatrix. Menu items are logically divided into 7 top level menus:

File menu collects everything related to input and output
Edit menu collects everything related to items currently selected or filtered in search fonts sidebar
Browse menu has command for navigating inside fonts sidebar
View menu controls visibility of sidebars
Scripts menu collects everything related to internal scripting
Service menu groups various additional tools that you don't usually use on daily basis
Help menu allows to open this help system and an About dialog"

....but on my copy of fontmatrix, I only see 5 menu entries. Browse and Scripts do not appear.

About the Main area, the help says:

"Main area of the window is using tabbed interface to split different functionality."

But I'm not seeing any tabs anywhere.
I'm also not seeing the Browser Fonts sidebar.
I'm really at a loss here.
Is the version I've downloaded NOT current?
I downloaded it via the MX package manager, from the Enabled Repos tab.
Thanks in advance for any assistance offered.

OK, before I sign off, I just did an image search, and what I see is that the image which comes from:
https://www.google.com/url?sa=i&url=https%3A%2F%2Fflathub.org%2Fapps%2Fcom.github.fontmatrix.Fontmatrix&psig=AOvVaw1o1ZY9d8mAxQ2qC9QFopvB&ust=1704967611713000&source=images&cd=vfe&opi=89978449&ved=0CBUQjhxqFwoTCKiwo7nJ0oMDFQAAAAAdAAAAABAZ

is exactly like what I'm seeing, but the image from:
https://www.google.com/url?sa=i&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFontmatrix&psig=AOvVaw1o1ZY9d8mAxQ2qC9QFopvB&ust=1704967611713000&source=images&cd=vfe&opi=89978449&ved=0CBUQjhxqFwoTCKiwo7nJ0oMDFQAAAAAdAAAAABAh

looks like what I would expect to see having read the help file.
Not sure if that helps diagnose the issue here or not.
Cheers.

new release?

the last release dates back 2 years, is there any plan to create new releases? it would be great before end of year so debian can ship a new version for their next stable release (freeze starts mid jan 2023)...

text overlaps

I'm using the last 0.6.0 version and the text overlaps as showm on the screenshot attached. Is it a bug?

Captura de tela de 2020-02-25 23-41-09.

Installing error

I'm trying to install fontmatrix in Debian (LMDE to be precise) following the steps described in the .txt file. After typing:

svn co http://svn.gna.org/svn/undertype/trunk/tools/typotek fontmatrix

I get:

svn: E000111: Unable to connect to a repository at URL 'http://svn.gna.org/svn/undertype/trunk/tools/typotek'
svn: E000111: Error running context: Connection rejected

Any hint on how to procede?

Provide AppImage for Linux

Providing an AppImage would have, among others, these advantages:

  • Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
  • One app = one file = super simple for users: just download one AppImage file, make it executable, and run
  • No unpacking or installation necessary
  • No root needed
  • No system libraries changed
  • Works out of the box, no installation of runtimes needed
  • Optional desktop integration with appimaged
  • Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
  • Can optionally GPG2-sign your AppImages (inside the file)
  • Works on Live ISOs
  • Can use the same AppImages when dual-booting multiple distributions
  • Can be listed in the AppImageHub central directory of available AppImages
  • Can double as a self-extracting compressed archive with the --appimage-extract parameter
  • No repositories needed. Suitable/optimized for air-gapped (offline) machines
  • Decentralized

I have started working on producing an AppImage. Still needs some improvement though, and I need someone who knows the application to resolve the remaining quirks.

An AppImage for testing can be downloaded from
https://github.com/probonopd/fontmatrix/releases/continuous

cc @tomlechner

Restore Qt4 support

@prokoudine On some platforms Qt5/Qt6 are broken while Qt4 works. The commit switching to Qt5 seems trivial: 2d4b67d
Is this the only thing which is needed to add a fallback support for Qt4? Or are there other instances in the codebase?

[FIXED] Windows binary

Dear @prokoudine,
Could you be so kind to generate .exe for the rest of us who are mere Windows users w/o compiler?

Edit: fortunately, installer fontmatrix-0.6.0-win32.exe is still available here.

INSTALL instructions do not work on debian 10

The command to build did not work for me:
$ cd $FM_SOURCE_DIR
$ mkdir build
$ cd build
$ cmake .. [-DCMAKE_BUILD_TYPE=Debug]
[-DCMAKE_INSTALL_PREFIX:PATH=/install/prefix]
[-DWANT_HARFBUZZ:bool=true]
[-DWANT_ICU:bool=true]
[-DWANT_M17N:bool=true]
[-DTRANSLATOR:string=locale*]
[-DWANT_PYTHONQT:bool=true**]
[-DWANT_PODOFO:bool=true***]
$ make

I had to use
$ export $FM_SOURCE_DIR="~/Downloads/fontmatrix/"
$ cd $FM_SOURCE_DIR
$ mkdir build
$ cd build
$ cmake [-DCMAKE_BUILD_TYPE=Debug]
[-DCMAKE_INSTALL_PREFIX:PATH=/install/prefix]
[-DWANT_HARFBUZZ:bool=true]
[-DWANT_ICU:bool=true]
[-DWANT_M17N:bool=true]
[-DTRANSLATOR:string=locale*]
[-DWANT_PYTHONQT:bool=true**]
[-DWANT_PODOFO:bool=true***]
-S ${FM_SOURCE_DIR} -B ${FM_SOURCE_DIR}build/
$ make

For me needed to install missing Qt5 libs too:
$ sudo apt install libqt5webkit5-dev qttools5-dev-tools qttools5-dev

Question - Update tarballs or create a tag in github?

Referencing: https://aur.archlinux.org/packages/fontmatrix/

Would it be possible to update /tag the source tarballs with a more recent "stable" source? Currently the project builds perfectly fine from git, but the older packages: https://fontmatrix.be/archives/ (0.6.0 in particular) fail to build due to ICU errors:

[ 79%] Building CXX object src/CMakeFiles/fontmatrix.dir/fmshaper.cpp.o
[ 80%] Building CXX object src/CMakeFiles/fontmatrix.dir/icushaper.cpp.o
[ 80%] Building CXX object src/CMakeFiles/fontmatrix.dir/moc_aboutwidget.cxx.o
/tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.cpp: In constructor ‘IcuShaper::IcuShaper(FMOtf*, QString)’:
/tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.cpp:28:34: error: invalid new-expression of abstract class type ‘IcuFontImpl’
icuFont = new IcuFontImpl ( otf );
^
In file included from /tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-    Source/src/icushaper.cpp:14:0:
/tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.h:23:7: note: because the following virtual functions are pure within ‘IcuFontImpl’:
class IcuFontImpl : public LEFontInstance
^~~~~~~~~~~
In file included from /tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.h:20:0,
from /tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.cpp:14: /usr/include/layout/LEFontInstance.h:165:25: note: virtual const void*  icu_57::LEFontInstance::getFontTable(LETag, size_t&) const
virtual const void* getFontTable(LETag tableTag, size_t &length) const = 0;
^~~~~~~~~~~~
src/CMakeFiles/fontmatrix.dir/build.make:2001: recipe for target 'src/CMakeFiles/fontmatrix.dir/icushaper.cpp.o' failed
make[2]: *** [src/CMakeFiles/fontmatrix.dir/icushaper.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:237: recipe for target 'src/CMakeFiles/fontmatrix.dir/all' failed
make[1]: *** [src/CMakeFiles/fontmatrix.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build fontmatrix.

fontmatrix program crashes when loading specific font

flatpak run com.github.fontmatrix.Fontmatrix
QObject::connect: No such signal QThread::terminated()
  OpenType support missing for "Mukti Narrow", script 12
QGraphicsScene::addItem: cannot add null item

font:
https://go.dev/blog/go-fonts
image

git clone https://go.googlesource.com/image

alternatively https://fontlibrary.org/fr/font/go-mono seems to have it

This ONLY happens on the Go mono font

the mono font also does not show the thumbnail
image
notice the mono font is the blank square, clicking it.. goes to the mono page where it crashes

I have also gotten the "Mukti Narrow" which seems to be a font, no idea what it has to do with anything but that one works fine and is unrelated to the Go mono not working even though the crash error says that name.

Compiling/Building/Installing 0.6.0 on Debian 12, crash with "Illegal instruction"

Hey it's me from Libre Arts discussion, thanks for the pointer.  I was eventually able to get 0.6.0 built within a modern environment/OS, but I had to add Debian oldoldstable repo to get the qt4 dependencies.  Had minor issues getting those installed but the build eventually succeeded.  I'll try to share as many details as I can below.  I was able to run fontmatrix and it loaded up fine, but only one font listed. As soon as I clicked on the font, program crashed. 😢  The below was output to the terminal:

$ src/fontmatrix
Gtk-Message: <time>: Failed to load module "canberra-gtk-module"
QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers: QMYSQL3 QMYSQL
QSqlQuery::exec: database not open
QSqlQuery::prepare: database not open
[repeated 2 more times]
QSqlQuery::exec: database not open
QSqlQuery::prepare: database not open
QSqlQuery::exec: database not open
[repeated 3 more times, idle]
[clicked on the only font listed, window disappears]
QSqlQuery::exec: database not open
QSqlQuery::exec: database not open
Illegal instruction
$ 

After installing libqt4-sql-sqlite package, I also renamed ~/.Fontmatrix to ~/.Fontmatrix.old since I previously had the 0.9 version installed and there's an SQL database contained there.  The sql errors went away and now just the following is displayed in the terminal, but the program still lists only one font and crashes after clicking on it... any ideas for a fix or how to further troubleshoot/debug?

$ src/fontmatrix
Gtk-Message: <time>: Failed to load module "canberra-gtk-module"
Illegal instruction
$ 

Thanks

0.6.0 Installation "tips" (aka what got me to this point)

This is a rough summary, since I first tried to use Debian snapshot repos without success, had to undo those changes, then tried installing qt4 dependencies one by one by manually downloading the oldoldstable deb files until I realized how many there were, had to undo that, then finally came to this solution.  It looks as if apt install of libqt4-dev and libqtwebkit-dev will install everything else to have successful CMake.

  • After attempting to run the cmake command, got error that qmake was from Qt 5.
  • Temporarily added /etc/apt/sources.list.d/debian-oldoldstable.list with the following repos:
    deb http://deb.debian.org/debian oldoldstable main
    deb http://security.debian.org/debian-security oldoldstable/updates main
  • (apt update and then) apt install qt4-qmake (amd64 4:4.8.7+dfsg-18+deb10u2).
  • Attempted QT_SELECT="4" cmake command, got error that QtCore was not found.
    Instead of trying to install libqtcore4 first, I jumped to libqt4-dev instead since knew that would be needed for building.
  • Attempted apt install libqt4-dev (amd64 4:4.8.7+dfsg-18+deb10u2).
    This triggered 20 or so qt4 dependent packages (including libqtcore4) to be installed as well.  If there are issues, try using aptitude which can present different installation tricks to get the packages installed.  An issue I had with libqtcore4 was:
dpkg: error processing archive /tmp/apt-dpkg-install-xLFosu/04-libqtcore4_4%3a4.8.7+dfsg-18+deb10u2_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf', which is also in package libqt5core5a:amd64 5.15.10+dfsg-3

This is just a sym link that points to ../../../../share/qtchooser/qt5-x86_64-linux-gnu.conf or ../../../../share/qtchooser/qt4-x86_64-linux-gnu.conf with qtchooser assistance.  I used apt command install -o DPkg::options::="--force-overwrite" to overcome the dpkg error.

  • Attempted QT_SELECT="4" cmake command, got error that QtWebKit not found.
  • apt install libqtwebkit-dev
  • Attempted QT_SELECT="4" cmake command.  Successful!

make successful!

but fontmatrix crash :(

[macOS] Why does CMakeLists hardcode arch to i386?

This gonna break building on other archs:

IF(APPLE)
# SET (CMAKE_INSTALL_PREFIX /Applications CACHE PATH "Installation path")
# SET (FONTMATRIX_BIN bin "")
set( CMAKE_OSX_ARCHITECTURES i386 )
ENDIF(APPLE)

It is not necessary to set manually at all, compiler handles archs, or at least not coerce the arch to Intel 32-bit.

Fontmatrix creates a deprecated $HOME/.fonts.conf file

Current versions of fontconfig deprecates $HOME/.fonts.conf in favor of $HOME/.config/fontconfig/fonts.conf. Or strictly speaking in favor of $XDG_CONFIG_HOME/fontconfig/fonts.conf, which defaults to the former.

Fontmatrix still creates $HOME/.fonts.conf whenever it runs. This is at least true for the version included in Fedora 18, fontmatrix-0.9.99-7.r1218.fc18.x86_64. I assume this should be changed to create a file in the new place instead.

gcc 9.1 cannot find FT_Done_MM_Var ???

[ 91%] Linking CXX executable fontmatrix /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/libfontconfig.so: undefined reference to 'FT_Done_MM_Var' collect2: error: ld returned 1 exit status make[2]: *** [src/fontmatrix] Error 1 make[1]: *** [src/CMakeFiles/fontmatrix.dir/all] Error 2 make: *** [all] Error 2
I cannot get past this bug. Sorry if this is stupid. I realize it is in fontCONFIG and this is fontMATRIX.
ldd of libfontconfig.so is clean, so what version of libfontconfig is needed? I have 1.12

(Also, how do I make code break lines correctly?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.