MCPcopy Create free account
hub / github.com/creatale/node-dv / bmfCreate

Function bmfCreate

deps/leptonica/src/bmf.c:113–156  ·  view source on GitHub ↗

---------------------------------------------------------------------*/ Bmf create/destroy */ ---------------------------------------------------------------------*/ ! * \brief bmfCreate() * * \param[in] dir [optional] directory holding pixa of character set * \param[in] fontsize 4, 6, 8, ... , 20 * \return bmf holding the bitmap font and associated information

Source from the content-addressed store, hash-verified

111 * </pre>
112 */
113L_BMF *
114bmfCreate(const char *dir,
115 l_int32 fontsize)
116{
117L_BMF *bmf;
118PIXA *pixa;
119
120 PROCNAME("bmfCreate");
121
122 if (fontsize < 4 || fontsize > 20 || (fontsize % 2))
123 return (L_BMF *)ERROR_PTR("fontsize must be in {4, 6, ..., 20}",
124 procName, NULL);
125 if ((bmf = (L_BMF *)LEPT_CALLOC(1, sizeof(L_BMF))) == NULL)
126 return (L_BMF *)ERROR_PTR("bmf not made", procName, NULL);
127
128 if (!dir) { /* Generate from a string */
129 pixa = pixaGenerateFontFromString(fontsize, &bmf->baseline1,
130 &bmf->baseline2, &bmf->baseline3);
131 } else { /* Look for the pixa in a directory */
132 pixa = pixaGetFont(dir, fontsize, &bmf->baseline1, &bmf->baseline2,
133 &bmf->baseline3);
134 if (!pixa) { /* Not found; make it from a file */
135 L_INFO("Generating pixa of bitmap fonts from file\n", procName);
136 pixa = pixaGenerateFontFromFile(dir, fontsize, &bmf->baseline1,
137 &bmf->baseline2, &bmf->baseline3);
138 if (!pixa) { /* Not made; make it from a string after all */
139 L_ERROR("Failed to make font; use string\n", procName);
140 pixa = pixaGenerateFontFromString(fontsize, &bmf->baseline1,
141 &bmf->baseline2, &bmf->baseline3);
142 }
143 }
144 }
145
146 if (!pixa) {
147 bmfDestroy(&bmf);
148 return (L_BMF *)ERROR_PTR("font pixa not made", procName, NULL);
149 }
150
151 bmf->pixa = pixa;
152 bmf->size = fontsize;
153 if (dir) bmf->directory = stringNew(dir);
154 bmfMakeAsciiTables(bmf);
155 return bmf;
156}
157
158
159/*!

Callers 15

boxaDisplayTiledFunction · 0.85
pixMosaicColorShiftRGBFunction · 0.85
recogCreateFunction · 0.85
pixDecideIfTextFunction · 0.85
pixaDisplayTiledWithTextFunction · 0.85
pixaDisplayTiledByIndexFunction · 0.85
pixaSelectToPdfFunction · 0.85
pixaConvertToNUpPixaFunction · 0.85
pixDecideIfPhotoImageFunction · 0.85
compareTilesByHistoFunction · 0.85
pixCompareTilesByHistoFunction · 0.85
dewarpaShowArraysFunction · 0.85

Calls 6

pixaGetFontFunction · 0.85
pixaGenerateFontFromFileFunction · 0.85
bmfDestroyFunction · 0.85
stringNewFunction · 0.85
bmfMakeAsciiTablesFunction · 0.85

Tested by

no test coverage detected