Arial Font Size Setter for Windows

  • Share this:

Code introduction


This function is used to set the font size of a string, especially when using Arial font in a Windows environment.


Technology Stack : The packages and technologies used in this code[English]

Code Type : Function

Code Difficulty :


                
                    
def arial_font_size(text, font_size):
    """
    Set the font size of a string for an Arial font in a Windows environment.
    """
    import os
    from ctypes import windll

    # Define the Arial font name and size
    font_name = "Arial"
    font_size = font_size * 20  # Convert to Windows font size units

    # Create a font object
    font = windll.gdi32.CreateFontW(
        -font_size,  # nHeight
        0,           # nWidth
        0,           # nEscapement
        0,           # nOrientation
        0,           # fnWeight
        False,       # bItalic
        False,       # bUnderline
        False,       # bStrikeOut
        0,           # nCharSet
        0,           # nOutPrecision
        0,           # nClipPrecision
        0,           # nQuality
        0,           # nPitchAndFamily
        font_name    # lpszFace
    )

    # Get the size of the text in the specified font
    text_width, text_height = windll.gdi32.MeasureTextW(None, text.encode('utf-16le'), len(text))

    # Delete the font object
    windll.gdi32.DeleteObject(font)

    return text_width, text_height