filenames: Implements UFO User Name to File Name Algorithm¶
User name to file name conversion based on the UFO 3 spec: http://unifiedfontobject.org/versions/ufo3/conventions/
The code was copied from: https://github.com/unified-font-object/ufoLib/blob/8747da7/Lib/ufoLib/filenames.py
Author: Tal Leming Copyright (c) 2005-2016, The RoboFab Developers:
Erik van Blokland Tal Leming Just van Rossum
-
fontTools.misc.filenames.
userNameToFileName
(userName, existing=[], prefix='', suffix='')[source]¶ existing should be a case-insensitive list of all existing file names.
>>> userNameToFileName("a") == "a" True >>> userNameToFileName("A") == "A_" True >>> userNameToFileName("AE") == "A_E_" True >>> userNameToFileName("Ae") == "A_e" True >>> userNameToFileName("ae") == "ae" True >>> userNameToFileName("aE") == "aE_" True >>> userNameToFileName("a.alt") == "a.alt" True >>> userNameToFileName("A.alt") == "A_.alt" True >>> userNameToFileName("A.Alt") == "A_.A_lt" True >>> userNameToFileName("A.aLt") == "A_.aL_t" True >>> userNameToFileName(u"A.alT") == "A_.alT_" True >>> userNameToFileName("T_H") == "T__H_" True >>> userNameToFileName("T_h") == "T__h" True >>> userNameToFileName("t_h") == "t_h" True >>> userNameToFileName("F_F_I") == "F__F__I_" True >>> userNameToFileName("f_f_i") == "f_f_i" True >>> userNameToFileName("Aacute_V.swash") == "A_acute_V_.swash" True >>> userNameToFileName(".notdef") == "_notdef" True >>> userNameToFileName("con") == "_con" True >>> userNameToFileName("CON") == "C_O_N_" True >>> userNameToFileName("con.alt") == "_con.alt" True >>> userNameToFileName("alt.con") == "alt._con" True