333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/*
    Node plugin for figlet.js
*/
 
var figlet = require('./figlet.js'),
    fs = require('fs'),
    fontDir = __dirname + '/../fonts/';
 
/*
    Loads a font into the figlet object.
 
    Parameters:
    - name (string): Name of the font to load.
    - next (function): Callback function.
*/
figlet.loadFont = function(name, next) {
    if (figlet.figFonts[name]) {
        next(null, figlet.figFonts[name].options);
        return;
    }
 
    fs.readFile(fontDir + name + '.flf',  {encoding: 'utf-8'}, function(err, fontData) {
        if (err) {
            return next(err);
        }
 
        fontData = fontData + '';
        try {
            next(null, figlet.parseFont(name, fontData));
        } catch(error) {
            next(error);
        }
    });
};
 
/*
 Loads a font synchronously into the figlet object.
 
 Parameters:
 - name (string): Name of the font to load.
 */
figlet.loadFontSync = function(name) {
    if (figlet.figFonts[name]) {
        return figlet.figFonts[name].options;
    }
 
    var fontData = fs.readFileSync(fontDir + name + '.flf',  {encoding: 'utf-8'});
 
    fontData = fontData + '';
    return figlet.parseFont(name, fontData);
};
 
/*
    Returns an array containing all of the font names
*/
figlet.fonts = function(next) {
    var fontList = [];
    fs.readdir(fontDir, function (err, files) { // '/' denotes the root folder
        if (err) {
            return next(err);
        }
 
        files.forEach( function (file) {
            if ( /\.flf$/.test(file) ) {
                fontList.push( file.replace(/\.flf$/,'') );
            }
        });
 
        next(null, fontList);
    });
 
};
 
figlet.fontsSync = function() {
    var fontList = [];
    fs.readdirSync(fontDir).forEach(function(file) {
        if ( /\.flf$/.test(file) ) {
            fontList.push( file.replace(/\.flf$/,'') );
        }
    });
 
    return fontList;
};
 
module.exports = figlet;