Hyphen-ated / RebirthItemTracker

Uses the log.txt file to track item pickups in Binding of Isaac: Rebirth.
BSD 2-Clause "Simplified" License
121 stars 26 forks source link

"Unable to read font filename" #131

Open ScottRastyles opened 7 years ago

ScottRastyles commented 7 years ago

When I try to open the tracker, it crashes and it makes those messages in the tracker_log.

_"2017-05-29 19:23:21 ERROR: Couldn't load font "Arial", falling back to Arial Traceback (most recent call last): File "view_controls\view.py", line 528, in resetoptions File "C:\Python27\lib\site-packages\pygame\sysfont.py", line 577, in SysFont IOError: unable to read font filename"

_"2017-05-29 19:23:21 Traceback (most recent call last): File "item_tracker.py", line 231, in main File "item_tracker.py", line 61, in run File "view_controls\view.py", line 69, in init File "view_controls\view.py", line 92, in start_pygame File "view_controls\view.py", line 535, in resetoptions File "C:\Python27\lib\site-packages\pygame\sysfont.py", line 577, in SysFont IOError: unable to read font filename"

Hyphen-ated commented 7 years ago

It looks like you don't have the font Arial installed, and we assumed that would never happen. The real fix for this bug is for us to distribute a font with the tracker that it can use as a fallback.

In the meantime, two options you can use to work around this bug are: 1: install Arial 2: manually edit the file options.json and change the value of "show_font" from "Arial" to some other font that you do have installed. You can also change it to "None" to get a really ugly default font that should at least still work.

ScottRastyles commented 7 years ago

The thing is that Arial is installed. Also changing the font does not work for me, just gives me Runtime Error (tried both with the fonts that I have installed and the "None" font).

Hyphen-ated commented 7 years ago

The same error as before, or a different one?

ScottRastyles commented 7 years ago

Different one, this one does not appear in tracker_log. This one is a windows pop up. shu_w0dlp0

Hyphen-ated commented 7 years ago

Can you post your options.json please?

Also, what version of Windows are you using?

ScottRastyles commented 7 years ago

_{ "background_color": "#3C3C3C", "blck_cndl_mode": false, "bold_font": true, "change_server": false, "check_for_updates": true, "custom_title": "", "custom_title_enabled": false, "default_spacing": 64, "enable_mouseover": true, "framerate_limit": 30, "game_version": "Afterbirth+", "height": 100, "item_details_link": "http://platinumgod.co.uk/afterbirth?id=$ID", "make_items_glow": true, "message_duration": 7, "min_spacing": 24, "read_delay": 15, "read_from_server": false, "show_blind_icon": true, "show_description": true, "show_floors": true, "show_font": "Sofia", "show_health_ups": true, "show_rerolled_items": true, "show_space_items": true, "show_status_message": true, "size_multiplier": 1.0, "status_message": "Seed: {seed} / Guppy: {guppy} / Leviathan: {leviathan} / Spun: {spun} / {version_number} / Room: {room_id}", "text_color": "#FFFFFF", "trackerserver_authkey": "", "trackerserver_url": "http://isaacitemtracker.com:8080", "twitch_name": "", "width": 1000, "word_wrap": false, "write_to_server": false, "x_position": 100, "yposition": 100 }

josh-cook commented 5 years ago

@ScottRastyles looks like you're using show_font: "sofia" maybe it didn't save when you changed it in the .json file.

I've been trying to append my own font too, instead of the standard list given... not sussed out how to do that. @Hyphen-ated anyway of adding custom fonts without dev work needed?

Hyphen-ated commented 5 years ago

@cookiej91 in theory you can use any font you have installed on your system by editing options.json to set show_font to the appropriate font name. Unfortunately there is sometimes weird inconsistency with font names, e.g. the font listed as "Eurostile Regular" in windows needs to be named as just "Eurostile", and the font listed as "Valken Medium" needs to be named "Valken Regular", and some system fonts don't seem to be usable at all. If you examine your font with a ttf editor (or just look at it in a text editor and find the ascii text strings among the binary) it might help find the right name to use. or if that fails, and you have a python environment you can run code in, the method pygame.font.get_fonts() returns a large list of font name strings which should hopefully be usable

josh-cook commented 5 years ago

You are a great, great person! Thanks so much for this!