JujuAdams Scribble Versions Save

Efficient, internationalized, multi-effects text renderer for GameMaker

9.0.0.beta

2 months ago

Scribble Deluxe 9.0.0 (beta)

  • Minimum supported version of GameMaker is now 2023.8
  • Externally generated MSDF fonts are no longer supported and native GameMaker SDF fonts are now supported instead
  • .sdf_shadow() and .sdf_border() are the replacement for equivalent MSDF methods
  • .msdf_feather() and scribble_msdf_thickness_offset() have been removed entirely
  • SCRIBBLE_INCLUDED_FILES_SUBDIRECTORY and SCRIBBLE_FLUSH_RETURNS_SELF have been removed

If you want to use MSDF fonts or are using a version older than 2023.8, please version 8.7.1.

8.7.1

2 months ago
  • Fixes typist .get_text_element() returning a weak reference instead of the actual reference
  • Fixes .get_glyph_data() returning bad values if the index is less than zero
  • Adds special case for म्म्
  • Fixes line spacing throwing off vertical alignment
  • Fixes crashes in a few methods when drawing an empty string
  • Fixes pausing in a custom typist event not being respected
  • Fixes crash in edge case for .fit_to_box()
  • Fixes up overspecific type checking against methods/scripts. fixing crashes in 2024.2
  • Uses handle_parse() on 2024.2, fixing crash when using in-line surfaces in 2024.2
  • Corrects use of ds_map_exists() against colours struct, fixing crashes in 2024.2

8.7.0

1 year ago

New Features

  • Adds SCRIBBLE_DELAY_LAST_CHARACTER
  • Adds gain parameter to .sound() and .sound_per_char() typist methods

Bug Fixes

  • Fixes crash when using .overwrite() on a text element without a unique ID
  • Fixes edge case crash when padding or trimming left-hand spacing and using .fit_to_box()

8.6.2

1 year ago
  • Fixes .get_glyph_data() not returning values for the first glyph

8.6.1

1 year ago

New Features

  • Adds scribble_color_set() to allow for colour tag adjustment at runtime. Please read the documentation carefully for this function
  • Adds scribble_color_get() to return values set by the above
  • Adds .pre_update_typist() text element method to work around order-of-execution issues in some edge cases
  • Adds SCRIBBLE_SPRITE_BILINEAR_FILTERING (which also affects surfaces)

Bug Fixes

  • Fixes .refresh() text element method potentially causing unexpected hitches
  • Fixes per-character delay delaying every character after the character to delay
  • Fixes sprites and surfaces having an unpredictable bilinear filtering state

8.5.0

1 year ago

New Features

  • Adds .skip_to_pause() for typists (thanks @tabularelf!)
  • Adds 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)

8.4.1

1 year ago

New Features

  • Typists can now be created with per-line text reveal using an optional argument
  • Adds audio synchronisation feature to typists with .sync_to_sound() method and the [sync] command tag
  • Adds markdown formatting functions - scribble_markdown_set_styles() to set up style formatting, and scribble_markdown_format() to apply it to a string
  • Adds optional "maximise" argument to .scale_to_box()
  • Adds [indent] and [/indent] formatting tags

Bug Fixes

  • Adds workaround for non-Latin characters on HTML5
  • Adds special unique ID for text drawn with draw_text_scribble*() functions to avoid cache collisions
  • Now showing an error when using fonts added using font_add() with draw_text_scribble*() functions
  • Fixes a couple rendering bugs for Devanagari where ि appears before nukta
  • Works around a glyph shaping bug in Arabic where shadda appears after lam

8.4.0a1

1 year ago
  • Adds [indent] formatting tag
  • Adds markdown formatting functions - scribble_markdown_set_styles() to set up style format, and scribble_markdown_format() to apply it

8.3.0

1 year ago

Documentation here.

 

New features:

  • Adds .scale() method to text elements to apply a scaling factor before text layout, applied multiplicatively with [scale] tags
  • Adds .randomize_animation() to make all animated effects more chaotic (inc. typists, .reveal(), and [shake] etc.)
  • Adds .function_on_complete() to typists
  • Adds .refresh() and scribble_refresh_all() to make it easier to keep macro'd strings up-to-date
  • Adds [r2l] and [l2r] tags to hint at text direction
  • Adds .pin_guide_width() to control pin width without actually doing text wrapping (useful for handling R2L layouts)
  • Adds SCRIBBLE_FLUSH_RETURNS_SELF for you crazy people who want that

Bug Fixes:

  • Character delay now doesn't apply to the final character in a string unless there is a typist event after it
  • Character delay now has highest priority in the event queue meaning typist events are executed after the character delay has completed
  • U+200E and U+200F now correctly hint at text direction
  • Fixes Thai rendering incorrectly from time to time

8.2.0

1 year ago

Documentation here.

 

New features:

  • Kerning pairs are now loaded from standard fonts and MSDF fonts automatically. You can modify kerning pairs with scribble_kerning_pair_set(), including adding kerning pairs to spritefonts
  • Adds SCRRIBLE_USE_KERNING to turn off the above behaviour if you don't like it!
  • Adds macros, added via scribble_add_macro(). Macros can be used to inject substrings into the Scribble parser
  • Scribble now creates zero global variables, keeping your debugger neat and tidy
  • Adds SCRIBBLE_THAI_GRAVE_ACCENTS_ARE_ZWSP to help with localisation
  • Adds SCRIBBLE_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 method

Bug Fixes:

  • Fixes animations freezing if many copies of the same text element are drawn
  • Regions are now scanned in reverse to work around an issue with region heights sometimes being a bit too tall
  • Removes that annoying Warning! Model generator found hanging line data debug message
  • Fixes crash in scribble_font_get_glyph_ranges()
  • Fixes crash when drawing an empty string with a Krutidev font
  • Minor improvements to error reporting