MCPcopy Create free account
hub / github.com/pymupdf/PyMuPDF / JM_get_font

Function JM_get_font

src/__init__.py:19703–19762  ·  view source on GitHub ↗

return a fz_font from a number of parameters

(
        fontname,
        fontfile,
        fontbuffer,
        script,
        lang,
        ordering,
        is_bold,
        is_italic,
        is_serif,
        embed,
        )

Source from the content-addressed store, hash-verified

19701
19702
19703def JM_get_font(
19704 fontname,
19705 fontfile,
19706 fontbuffer,
19707 script,
19708 lang,
19709 ordering,
19710 is_bold,
19711 is_italic,
19712 is_serif,
19713 embed,
19714 ):
19715 '''
19716 return a fz_font from a number of parameters
19717 '''
19718 def fertig(font):
19719 if not font.m_internal:
19720 raise RuntimeError(MSG_FONT_FAILED)
19721 # if font allows this, set embedding
19722 if not font.m_internal.flags.never_embed:
19723 mupdf.fz_set_font_embedding(font, embed)
19724 return font
19725
19726 index = 0
19727 font = None
19728 if fontfile:
19729 #goto have_file;
19730 font = mupdf.fz_new_font_from_file( None, fontfile, index, 0)
19731 return fertig(font)
19732
19733 if fontbuffer:
19734 #goto have_buffer;
19735 res = JM_BufferFromBytes(fontbuffer)
19736 font = mupdf.fz_new_font_from_buffer( None, res, index, 0)
19737 return fertig(font)
19738
19739 if ordering > -1:
19740 # goto have_cjk;
19741 font = mupdf.fz_new_cjk_font(ordering)
19742 return fertig(font)
19743
19744 if fontname:
19745 # goto have_base14;
19746 # Base-14 or a MuPDF builtin font
19747 font = mupdf.fz_new_base14_font(fontname)
19748 if font.m_internal:
19749 return fertig(font)
19750 font = mupdf.fz_new_builtin_font(fontname, is_bold, is_italic)
19751 return fertig(font)
19752
19753 # Check for NOTO font
19754 #have_noto:;
19755 data, size, index = mupdf.fz_lookup_noto_font( script, lang)
19756 font = None
19757 if data:
19758 font = mupdf.fz_new_font_from_memory( None, data, size, index, 0)
19759 if font.m_internal:
19760 return fertig(font)

Callers 1

__init__Method · 0.85

Calls 2

fertigFunction · 0.85
JM_BufferFromBytesFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…