Efficient, internationalized, multi-effects text renderer for GameMaker
.sdf_shadow()
and .sdf_border()
are the replacement for equivalent MSDF methods.msdf_feather()
and scribble_msdf_thickness_offset()
have been removed entirelySCRIBBLE_INCLUDED_FILES_SUBDIRECTORY
and SCRIBBLE_FLUSH_RETURNS_SELF
have been removedIf you want to use MSDF fonts or are using a version older than 2023.8, please version 8.7.1.
.get_text_element()
returning a weak reference instead of the actual reference.get_glyph_data()
returning bad values if the index is less than zero.fit_to_box()
handle_parse()
on 2024.2, fixing crash when using in-line surfaces in 2024.2ds_map_exists()
against colours struct, fixing crashes in 2024.2New Features
SCRIBBLE_DELAY_LAST_CHARACTER
.sound()
and .sound_per_char()
typist methodsBug Fixes
.overwrite()
on a text element without a unique ID.fit_to_box()
.get_glyph_data()
not returning values for the first glyphNew Features
scribble_color_set()
to allow for colour tag adjustment at runtime. Please read the documentation carefully for this function
scribble_color_get()
to return values set by the above.pre_update_typist()
text element method to work around order-of-execution issues in some edge casesSCRIBBLE_SPRITE_BILINEAR_FILTERING
(which also affects surfaces)Bug Fixes
.refresh()
text element method potentially causing unexpected hitchesNew Features
.skip_to_pause()
for typists (thanks @tabularelf!)string_length_scribble()
as an easier way to get the number of actual drawn glyphs in a string (usually the length of the string without command tags)New Features
.sync_to_sound()
method and the [sync]
command tagscribble_markdown_set_styles()
to set up style formatting, and scribble_markdown_format()
to apply it to a string.scale_to_box()
[indent]
and [/indent]
formatting tagsBug Fixes
draw_text_scribble*()
functions to avoid cache collisionsfont_add()
with draw_text_scribble*()
functions[indent]
formatting tagscribble_markdown_set_styles()
to set up style format, and scribble_markdown_format()
to apply itDocumentation here.
New features:
.scale()
method to text elements to apply a scaling factor before text layout, applied multiplicatively with [scale]
tags.randomize_animation()
to make all animated effects more chaotic (inc. typists, .reveal()
, and [shake]
etc.).function_on_complete()
to typists.refresh()
and scribble_refresh_all()
to make it easier to keep macro'd strings up-to-date[r2l]
and [l2r]
tags to hint at text direction.pin_guide_width()
to control pin width without actually doing text wrapping (useful for handling R2L layouts)SCRIBBLE_FLUSH_RETURNS_SELF
for you crazy people who want thatBug Fixes:
U+200E
and U+200F
now correctly hint at text directionDocumentation here.
New features:
scribble_kerning_pair_set()
, including adding kerning pairs to spritefontsSCRRIBLE_USE_KERNING
to turn off the above behaviour if you don't like it!scribble_add_macro()
. Macros can be used to inject substrings into the Scribble parserSCRIBBLE_THAI_GRAVE_ACCENTS_ARE_ZWSP
to help with localisationSCRIBBLE_UNDO_UNICODE_SUBSTITUTIONS
to clean up text that Google Docs or MS Word has butchered.get_bbox()
returned struct now contains the original x/y argument provided to the methodBug Fixes:
Warning! Model generator found hanging line data
debug messagescribble_font_get_glyph_ranges()