Additional Fonts CKEditor
We had some more luck with the integrated UI configuration of CKeditor, and after some trial and error we came up with the following solution:

In the following documentation I will assume that the fonts, files and configurations will be put in /sites/default/files/civicrm/persist/ and /sites/default/files/civicrm/persist/customfonts. The persist folder can be configured for multiple CMSs, I am using drupal.

The configuration file can be configured via the UI at /civicrm/admin/ckeditor. Add the fonts plugin on top if not already done.
Under advanced options add a customConfig, and add a custom configuration file. I would use something like /sites/default/files/civicrm/persist/crm-ckeditor-custom.js

This can be copied and extended from the already generated crm-ckeditor-default.js in the same folder. Be aware that if the path is added, "/" characters will be escaped. Sadly multiple times, so be careful when saving the form!

In the custom configuration you can now add CKEditor configuration, according to their API documentation.
For the fonts to be added, a fonts.css file needs to be created, with the default @fontface syntax and the added to the configuration like this:

config.contentsCss = "/sites/default/files/civicrm/persist/customfonts/fonts.css";


And the font names needs to be extended as well:

config.font_names = "Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif;Indie Flower/Indie Flower";


This is the list of pre-configured fonts, and a new fonts Indie Flower (as an example) is added. The syntax is [Display name]/[Font Name]

Afterwards the directory could look something like this:

 sites/default/files/civicrm/persist
  - crm-ckeditor-custom.js
  - customfonts
    - IndieFlower.woff2
    - IndieFlower.woff
    - IndieFlower.ttf
    - IndieFlower.svg
    - IndieFlower.eot
    - fonts.css


Then a message template has to be created (civicrm/admin/messageTemplates/add?action=add&amp;reset=1), and the fonts.css has to be included: 

&lt;link href="https://my.example.domain/sites/default/files/civicrm/persist/customfonts/fonts.css" rel="stylesheet" /&gt;


The webserver needs to be configured as well to allow CORS Header, either by a .htaccess file or for nginx:

&lt;IfModule mod_headers.c&gt;
  &lt;FilesMatch ".(eot|ttf|otf|woff|svg)"&gt;
        Header set Access-Control-Allow-Origin "*"
  &lt;/FilesMatch&gt;
&lt;/IfModule&gt;

location ~ ^/sites/default/files/civicrm/persist/customfonts/.+\.(eot|ttf|woff|woff2|svg)$ { 
    add_header Access-Control-Allow-Origin "*"; 
}


Then, when creating an Email or a PDF the template has to be selected, and the text can be created by wysiwyg. Email Clients can then load the fonts, and pdf generators can use the fonts.