Inkscape.org
Using Inkscape with Other Programs Inkscape and font manager compatibility (Fontbase) progress?
  1. #1
    ink4jman ink4jman @ink4jman

    I am still experiencing problems (i.e. it doesn't work) with using Fontbase and Inkscape together. I read a thread dated this spring about a bug being fixed regarding "seeing" fonts that are not installed by Windows for all users in Inkscape v.92.5 (https://inkscape.org/forums/questions/fonts-do-not-appear-in-inkscape-i-have-tried-everything/ and https://inkscape.org/forums/beyond/when-a-new-font-is-not-a-new-font/#c10286), but the topic of Inkscape's compatibility with font managers and the feature request (https://inkscape.org/forums/other/feature-request-fontbase-and-other-font-managers/) seems to have just dropped off.

  2. #2
    babbel babbel @babbel

    There's still no decent solution as for e.g. Photoshop and others. But Inkscape v1.0 at least offers the possibility to set also a custom font folder (Tools → Text → Additional font directories). But this will load all fonts in that folder within Inkscape. The intended activation/deactivation of fonts out of FontBase does not work with that, possibly slowing down your system's performance speed.

    Inkscape version v0.92 did not support fonts that were stored in folders other than Windows' system folder.

    As long as Inkscape and/or FontBase do not code this, we will be suffering with you. 

    Cheers

  3. #3
    Abdo Mohamed Abdo Mohamed @shahba_design
    *

    @babbel You are right, but there are some fonts does not appear in Inkscape although I did a custom folder! For example (( 13_Misa Font )) can't see it in the list.

    My fontbase folder is: (( C:\Users\AdminStrator\FontBase )) .... And If Inkscape able to read and use some of fonts in (( C:\Users\AdminStrator\FontBase )) .. It can't use any Google font located in (( C:\Users\AdminStrator\FontBase\Providers\Google )) although I added that folder as a custom folder too !

    I tried to:

    1- Move Fontbase folder to another drive (D:)

    2-  Run Fontbase & Inkscape As Administrator

    None of them worked. I hope there will be a solution.

    Also there is a page talking about this in details for a refrence: https://www.ericshefferman.com/2020/06/25/fontbase-font-manager-and-inkscape/

     

    I don't know why custom folder doesn't work for me, even I put a font in C:\Program Files\Inkscape\share\inkscape\fonts but can't load it too!

  4. #4
    jimmy88 jimmy88 @jimmy88

    Same here...no font manager I tried works with Inkscape. Custom folders don't work for me either. Any other suggestions or programs that do work would be truly appreciated.

  5. #5
    Abdo Mohamed Abdo Mohamed @shahba_design
    *

    @jimmy88 custom folder function doesn't work too for me, I have made a "Symlink" to my font folder to let them show in Inkscape. I have used a guide here: https://github.com/baublet/InkSkyFontsScape

    where he explains how to make "SkyFonts" work with Inkscape, but as @babbel mentioned above:

    Link to comment

    " load all fonts in that folder within Inkscape. The intended activation/deactivation of fonts out of FontBase does not work with that, possibly slowing down your system's performance speed."

    So I used this method to let my font folder readable within Inkscape without installing fonts.

    What is Symlink?

    Quoted from Wikipedia:

    symbolic link (also symlink or soft link) is a term for any file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution.

    Steps (Using WIndows 10):

    1.Open CMD with Administrator rights (Type CMD in Start Menu then right click on CMD icon and choose "Run as administrator").

    2.Copy this command into Notepad:

    mklink /D "%USERPROFILE%\.fonts" "Your font folder path here"

    3. Remove (Your font folder path here) [Don't remove the quotes] and paste your path.

    I put all my fonts in D:\PROGRAMS\FONTS

    So the final command will be like this:

    mklink /D "%USERPROFILE%\.fonts" "D:\PROGRAMS\FONTS"

    4. Copy this command from Notepad and paste it in CMD.

    5. Open Inkscape and you be able to use your fonts without installing them.

    What happened?

    InkScape looks in your "%USERPROFILE%/.fonts" for fonts.

    "%USERPROFILE%" Means your Windows username folder, My username path is: C:\Users\AdminStrator (Any username will be under C:\Users .. If you installed Windows on E: drive, then it will be on E:\Users)

    You don't know your username? You can open CMD and type "whoami" (without quotes) and you will see:

    Your computer name\Your username.

    So I have created a reference to my font folder "D:\PROGRAMS\FONTS" so that files in this path will show up in "%USERPROFILE%/.fonts" ... you can think as if you created a shortcut to your desktop. And when new files added to your font folder, it will appear in.

    If ".fonts" doesn't exist before your execute the command, The command will create that folder. So there is nothing to worry about.

    To access ".fonts" folder, you need to enable "View hidden folders" .. you can see here https://support.microsoft.com/en-us/windows/view-hidden-files-and-folders-in-windows-10-97fbc472-c603-9d90-91d0-1166d1d9f4b5 how to view hidden folders.

    After that, you can go to C:\Users\Your Username ... then you will find a folder call ".fonts", open it and you will see your fonts there.

    Fonts are stores in one location (Mine is "D:\PROGRAMS\FONTS" and ".fonts" behave like a shortcut as mentioned).

    VIP Notes:

    -------------------------------------

    Update 28-Dec-2020 7:20 AM (GMT +2):

    Note number 1, 2 and 3 ... go to this comment (click here) to solve the problems

    ​​​​​​​-------------------------------------

    1- Don't put fonts inside too many folders becasue this could cause Inkscape to be not able to read it (Happened to me).

    I mean don't put your font (let's say Arial font) in D:\PROGRAMS\FONTS\Arial\Typeface\TTF\Arial.ttf

    Instead make it a shorter path:

    D:\PROGRAMS\FONTS\Arial\Arial.ttf

    2. Some fonts won't work unless you install them on the windows to function properly like Layered fonts or even sometimes normal fonts with ttf or otf !!! (Try first to put in your font folder before installing it, if it doesn't work, then you will have to install it and remember to install it by right click on it then choose "Install for all users" because sometimes Inkscape won't recognize it if you installed it for one user) .... If you installed it, you won't need to put font file in your font folder anymore and you can put it elsewhere if you want.

    3. I think if there are certain characters or symbols in font folder, Inkscape won't read it. Because I tried to rename a font folder called ChunkFive to:

    ChunkFive [Ultra bold] [Distressed veriosn available] 

    But Inkscape didn't read it, So I deleted "[]" and everything is fine now.

    I don't know what preventing Inkscape to read the font, It drives me crazy to rename folders multiple times until Inkscape read it!

    But a simple workaround, is to put the font file (.ttf or .otf) it self in the main folder D:\PROGRAMS\FONTS not in a sub-folder, and wait some seconds to give the Symlink folder a chance to refresh and open Inkscape and type any text and choose the font you have put into main folder .... If Inkscape can't read it, then you will need to install the font on Windows!

    Tip: If you have many fonts, don't open the font menu in Inkscape because it will take long time to load, so when you select the Text tool from the toolbox on the left, type the font name in the upper left field and don't open the whole menu.

    4. If you don't need anymore this Symlink, Backup your oringal font folder by copy then paste it in a safe place, then delete ".fonts" folder. The backup is just in case. Always backup your fonts to cloud in case of hard disk failure.

  6. #6
    jimmy88 jimmy88 @jimmy88
    *

    @shahba_design  Thank you for this detailed explanation. Very helpful!  I successfully created a symlink to my Fontbase project folder and Inkscape seems to be loading and unloading all the fonts.  I've only tested a few, but so far so good. Thanks again!

  7. #7
    Abdo Mohamed Abdo Mohamed @shahba_design

    @jimmy88 No problem, I hope in near future Inkscape would fix this matter soon.

    Please If there are updates let me know.

  8. #8
    jimmy88 jimmy88 @jimmy88

    So just as an FYI, on my Win8.1 system, Inkscape only sees the fonts that are already in the linked directory when the Symlink is created. Fonts added to the folder later do no show up in Inkscape. As a quick hack, I created a batch file that removes then recreates the Symlink before running Inkscape. The fonts are then visible.

  9. #9
    Abdo Mohamed Abdo Mohamed @shahba_design

    @jimmy88 Man, You are right! I thought that some of fonts couldn't be seen by Inkscape for another reason.

    So I have some fonts in my folder that already Inkscape can't see it. I have deleted the Symlink and created it again, And now Inkscape can see them!

    Could you share with us this batch file? I know this batch would come with no warranty. You would be life savior. Thanks.

  10. #10
    jimmy88 jimmy88 @jimmy88
    *

    @shahba_design  So as you said, no warranty. 😊 I'm sure there are much better ways to do this, but this works for me. Use at your own risk.

    If you want to delete and recreate the symlink via batch file just paste this into a text file, rename the extension to .bat and launch as admin. You can't create symlinks in Windows (at least win8.1 and below) without admin rights. Do this before running inkscape.
    Replace the relevant path information with your own.

    @echo off
    rmdir "%USERPROFILE%\.fonts
    mklink /D "%USERPROFILE%\.fonts" "%USERPROFILE%\path_to\your_font\folder"

    To do this and launch Inkscape from the .bat file add the next line. But Inkscape will be running with admin privileges which may be undesirable.

    @echo off
    rmdir "%USERPROFILE%\.fonts

    mklink /D "%USERPROFILE%\.fonts" "%USERPROFILE%\path_to\your_font\folder"

    start /d "C:\Path_to\Inkscape\folder" inkscape.exe

    Lastly, if you want to run Inkscape from the .bat file but want to run it as a normal user, use the following. You will have to enter your password one time or again if you change it.

    You can also create a shortcut to the .bat file, modify its properties so that it runs as admin so you won't have to right click and choose "run as admin" anymore

    @echo off
    rmdir "%USERPROFILE%\.fonts

    mklink /D "%USERPROFILE%\.fonts" "%USERPROFILE%\path_to\your_font\folder"

    runas /user:your_username /savecred "C:\Path_to\Inkscape\folder\inkscape.exe"

    Just some additional info, this won't work if you launch Inkscape from a saved .svg file.
     
     Hope this helps.

  11. #11
    Abdo Mohamed Abdo Mohamed @shahba_design
    *

    Hello @jimmy88 ,thank you for getting back to me.

    I made batch file using script 1 you posted to recreate ".fonts" symlink and script 2 to additionally run Inkscape as admin after recreating the symlink. Both scripts are working great.

    But script number 3 didn't work for me! When I ran it, it asked for the password, so I simply pressed enter becasue my windows account doesn't has a password.

    The script recreate the symlink but it doesn't open Inkscape.

    And this the script after I put my paths ( just for reference ):

    @echo off
    rmdir "%USERPROFILE%\.fonts

    mklink /D "%USERPROFILE%\.fonts" "D:\PROGRAMS\FONTS"

    runas /user:AdminStrator /savecred "C:\Program Files\Inkscape\bin\inkscape.exe"

    (Yes, I know "AdminStrator" is missing "i" after "n" .. but this is my username.)

    Looks like I need to create a password my account so that the script work!

    Anyway, script number 1 is enough for me and this only what I need.

     

    As you said, to run as administrator without right click and choosing "Run as administrator" ....

    1- Simply create a shortcut of ".bat" file and right click on the shortcut and choose "properties".

    2- A window will open, go to "Shortcut" tab (If not already you are in it) then click "Advanced"

    3- Another windows will open, Check "Run as administrator" option and press "OK" and "OK" and now you can open it as admin without right click anymore.

     

    Thank you for your great efforts. Have a nice day.

Inkscape Inkscape.org Inkscape Forum Using Inkscape with Other Programs Inkscape and font manager compatibility (Fontbase) progress?