{"id":20484090,"url":"https://github.com/mirion-dev/GaseousMarble","last_synced_at":"2025-05-09T03:30:28.799Z","repository":{"id":243786046,"uuid":"813441646","full_name":"MirionQs/GaseousMarble","owner":"MirionQs","description":"Draw CJK characters in GameMaker 8.2.","archived":false,"fork":false,"pushed_at":"2024-08-29T09:34:21.000Z","size":98,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-29T10:57:11.857Z","etag":null,"topics":["cjk","dll","gamemaker"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MirionQs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-11T05:10:15.000Z","updated_at":"2024-08-29T09:34:25.000Z","dependencies_parsed_at":"2024-08-23T15:34:04.388Z","dependency_job_id":null,"html_url":"https://github.com/MirionQs/GaseousMarble","commit_stats":null,"previous_names":["mirionqs/gaseousmarble"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MirionQs%2FGaseousMarble","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MirionQs%2FGaseousMarble/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MirionQs%2FGaseousMarble/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MirionQs%2FGaseousMarble/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MirionQs","download_url":"https://codeload.github.com/MirionQs/GaseousMarble/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224808561,"owners_count":17373474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cjk","dll","gamemaker"],"created_at":"2024-11-15T16:19:49.360Z","updated_at":"2025-05-09T03:30:28.792Z","avatar_url":"https://github.com/MirionQs.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# GaseousMarble\n\nDraw Unicode texts in GameMaker 8.2, 1.75x faster than [FoxWriting](https://github.com/Noisyfox/FoxWriting).\n\n## Usage\n\nGaseousMarble provides following functions for drawing texts\n\n| **Function** | **Description** |\n| -- | -- |\n| `gm_font(font_name, sprite_path)` | Adds a font. The font sprite and glyph data can be generated using `tools/generate_font.py`. |\n| `gm_free(font_name)` | Frees a font. |\n| `gm_clear()` | Frees all fonts. |\n| `gm_draw(x, y, text)` | Draws a UTF-8 string. |\n| `gm_width(text)` | Returns the width of the text. |\n| `gm_height(text)` | Returns the height of the text. |\n\nas well as setters and getters for configuring the drawing parameters\n\n| **Setter** | **Getter** |\n| -- | -- |\n| `gm_set_font(font_name)` | `gm_get_font()` |\n| `gm_set_color(color)`\u003cbr\u003e`gm_set_color2(color_top, color_bottom)` | `gm_get_color_top()`\u003cbr\u003e`gm_get_color_bottom()` |\n| `gm_set_alpha(alpha)` | `gm_get_alpha()` |\n| `gm_set_halign(align)`\u003cbr\u003e`gm_set_valign(align)`\u003cbr\u003e`gm_set_justified(justified)`\u003cbr\u003e`gm_set_align(halign, valign)`\u003cbr\u003e`gm_set_align3(halign, valign, justified)` | `gm_get_halign()`\u003cbr\u003e`gm_get_valign()`\u003cbr\u003e`gm_is_justified()` |\n| `gm_set_letter_spacing(spacing)` | `gm_get_letter_spacing()` |\n| `gm_set_word_spacing(spacing)` | `gm_get_word_spacing()` |\n| `gm_set_paragraph_spacing(spacing)` | `gm_get_paragraph_spacing()` |\n| `gm_set_line_height(height)` | `gm_get_line_height()` |\n| `gm_set_max_line_length(length)` | `gm_get_max_line_length()` |\n| `gm_set_offset(x, y)` | `gm_get_offset_x()`\u003cbr\u003e`gm_get_offset_y()` |\n| `gm_set_scale(x, y)` | `gm_get_scale_x()`\u003cbr\u003e`gm_get_scale_y()` |\n\nIf any operation fails (for example, due to invalid arguments), the corresponding function will return `false`.\n\n## Credits\n\nThis project was inspired by the following open-source projects. Their code wasn't directly copied but was adapted and modified to better suit the needs of this project. Thank you to the developers for their efforts and contributions.\n\n| **Project** | **Referenced** |\n| -- | -- |\n| [FoxWriting](https://github.com/Noisyfox/FoxWriting) | Implementation of text drawing |\n| [GMAPI](https://github.com/snakedeveloper/gmapi) | Engine internal data structures |\n| [GMAPI 8.1](https://github.com/gm-archive/gmapi-8.1) | Magic numbers for engine resources |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirion-dev%2FGaseousMarble","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmirion-dev%2FGaseousMarble","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirion-dev%2FGaseousMarble/lists"}