English Version Deutsche Version
Fontlinge
Whatis?
Download
Requirements
Install
HowTo...
Step 1 - Collect fonts
Step 2 - Check
Step 3 - Make DB
Step 4 - Reunite
Step 5 - Dupekill prep
Step 6 - Dupekill
Step 7 - Make DB 2
Step 8 - Previews
WebGUI
Font poster
Database management
Links+Thankyou
Contact
 
 
Broken again

The previous commands removed dulicates. But, again, moving around files or deleting them breaks your database. Once again:
Start fontlinge_base with the --dbinsert option.

OK, that's it. You have a valid font database. And you have a very well organized ~/fontbase-folder.


Duplicate Entry?

If you see a message "DBD::mysql::st execute failed: Duplicate entry '/path/to/a/font.ttf' for key 1 [...]", you are just trying to insert a font into the database twice.

We catch these duplicates to avoid data loss at dupekill - if you compare a file with itsself, it is probably identical ;-) and would be deleted.

Duplicates can have multiple reasons:
  • You use --dbkeep with a directory you already added to the database.
     
  • There's a symlink to a file which is in the database already.
    We resolve symlinks to their "real" path when filling the database because the content of symlink and real file are identical, which would allow deletion of one of them - according to Murphy's law always the file would be deleted, never the symlink ;-)
     
  • You try to insert a directory with multiple PostScript fonts which are not divided into multiple directories (i. e. directly from a fonts CD). When inserting PS fonts (which always contain multiple files) into the database, we only use the directory name, but no file name.
    Resolution: First sort your fonts using --copy or --move, then insert ~/fontbase into the database.
  Experts only:

If you've divided your Fontbase into several directories, you'll want to have all the directories in the database. This is done with the parameter --dbkeep.

--dbkeep may not be given when reading the first directory because we have to remove the outdated entries from the database first.

Use the following command sequence:
--dbinsert ~/fontbase
--dbinsert --dbkeep ~/many-fonts
--dbinsert --dbkeep ~/more-fonts






Quicktip:

fontlinge_base --dbinsert ~/fontbase/