0

I'm using Tkinter-Designer to convert a Figma frame to a python code, the frame uses the 'RobotoMono' font family, which does not seem to be available in Tkinter when I looked it up. and the font get's ignored when I run the script.

I downloaded the Roboto Mono font family from Google and tried the answers suggested here and here but it did not work (I'm using Windows 11).

Here is the code:

from pathlib import Path

# from tkinter import *
# Explicit imports to satisfy Flake8
from tkinter import Tk, Canvas, Entry, Text, Button, PhotoImage


OUTPUT_PATH = Path(__file__).parent
ASSETS_PATH = OUTPUT_PATH / Path(r"Z:\python\projects\test\code\gui\tmp\TkinterDesigner\build\assets\frame0")


def relative_to_assets(path: str) -> Path:
    return ASSETS_PATH / Path(path)


window = Tk()

window.geometry("1056x724")
window.configure(bg = "#FFFFFF")


canvas = Canvas(
    window,
    bg = "#FFFFFF",
    height = 724,
    width = 1056,
    bd = 0,
    highlightthickness = 0,
    relief = "ridge"
)

canvas.place(x = 0, y = 0)
canvas.create_rectangle(
    56.0,
    68.0,
    954.0,
    673.0,
    fill="#F2F2F2",
    outline="")

canvas.create_rectangle(
    56.0,
    68.0,
    285.0,
    673.0,
    fill="#D4D3D3",
    outline="")

button_image_1 = PhotoImage(
    file=relative_to_assets("button_1.png"))
button_1 = Button(
    image=button_image_1,
    borderwidth=0,
    highlightthickness=0,
    command=lambda: print("button_1 clicked"),
    relief="flat"
)
button_1.place(
    x=56.0,
    y=348.0,
    width=229.0,
    height=37.0
)

button_image_2 = PhotoImage(
    file=relative_to_assets("button_2.png"))
button_2 = Button(
    image=button_image_2,
    borderwidth=0,
    highlightthickness=0,
    command=lambda: print("button_2 clicked"),
    relief="flat"
)
button_2.place(
    x=56.0,
    y=312.0,
    width=229.0,
    height=37.0
)

button_image_3 = PhotoImage(
    file=relative_to_assets("button_3.png"))
button_3 = Button(
    image=button_image_3,
    borderwidth=0,
    highlightthickness=0,
    command=lambda: print("button_3 clicked"),
    relief="flat"
)
button_3.place(
    x=56.0,
    y=274.0,
    width=229.0,
    height=37.0
)

button_image_4 = PhotoImage(
    file=relative_to_assets("button_4.png"))
button_4 = Button(
    image=button_image_4,
    borderwidth=0,
    highlightthickness=0,
    command=lambda: print("button_4 clicked"),
    relief="flat"
)
button_4.place(
    x=56.0,
    y=239.0,
    width=229.0,
    height=36.0
)

button_image_5 = PhotoImage(
    file=relative_to_assets("button_5.png"))
button_5 = Button(
    image=button_image_5,
    borderwidth=0,
    highlightthickness=0,
    command=lambda: print("button_5 clicked"),
    relief="flat"
)
button_5.place(
    x=56.0,
    y=201.0,
    width=229.0,
    height=37.0
)

image_image_1 = PhotoImage(
    file=relative_to_assets("image_1.png"))
image_1 = canvas.create_image(
    617.0,
    300.0,
    image=image_image_1
)

canvas.create_text(
    706.0,
    574.0,
    anchor="nw",
    text="         -Jim Rohn",
    fill="#000000",
    font=("RobotoMono Regular", 14 * -1)
)

canvas.create_text(
    433.0,
    500.0,
    anchor="nw",
    text="“Reading is essential for those who seek to rise above the ordinary.” ",
    fill="#000000",
    font=("RobotoMono Regular", 14 * -1)
)

canvas.create_text(
    84.0,
    100.0,
    anchor="nw",
    text="Hello Mahmoud!",
    fill="#000000",
    font=("RobotoMono Bold", 18 * -1)
)
window.resizable(False, False)
window.mainloop()
ZZZ
  • 161
  • 1
  • 8
  • Is the question specifically about **this** font? Or is it about installing fonts in general? Did you try to install any other fonts? Did they work? – Karl Knechtel Jan 06 '23 at 04:10

0 Answers0