{"id":31757138,"url":"https://github.com/pushfoo/unnamedocrvisualizerport","last_synced_at":"2025-10-20T05:54:36.295Z","repository":{"id":317303833,"uuid":"1064877714","full_name":"pushfoo/UnnamedOCRVisualizerPort","owner":"pushfoo","description":"An OCR visualizer port from Python instead of a goose game","archived":false,"fork":false,"pushed_at":"2025-10-08T02:56:21.000Z","size":138,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-08T04:21:15.701Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pushfoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-26T17:35:57.000Z","updated_at":"2025-10-08T02:56:25.000Z","dependencies_parsed_at":"2025-10-02T12:02:20.908Z","dependency_job_id":null,"html_url":"https://github.com/pushfoo/UnnamedOCRVisualizerPort","commit_stats":null,"previous_names":["pushfoo/unnamedocrvisualizerport"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pushfoo/UnnamedOCRVisualizerPort","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushfoo%2FUnnamedOCRVisualizerPort","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushfoo%2FUnnamedOCRVisualizerPort/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushfoo%2FUnnamedOCRVisualizerPort/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushfoo%2FUnnamedOCRVisualizerPort/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pushfoo","download_url":"https://codeload.github.com/pushfoo/UnnamedOCRVisualizerPort/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushfoo%2FUnnamedOCRVisualizerPort/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001951,"owners_count":26083244,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-10-09T19:48:37.502Z","updated_at":"2025-10-09T19:48:40.181Z","avatar_url":"https://github.com/pushfoo.png","language":"Lua","readme":"# UnnamedOCRVisualizerPort\n\nA WIP experiment in making a small, portable OCR output visualizer.\n\n| ![Tesseract's eurotext.png](doc/screenshot_eurotext.png) | ![A sha256sum wrapper function with bounding boxes.](doc/screenshot_code.png) |\n| :------------------------------------------------------: | :---------------------------------------------------------------------------: |\n| Tesseract's `eurotext.png`                               | A `sha256sum` wrapper                                                         |\n\n\n## Requirements\n\nSo far:\n\n1. [Love2D][] \u003e= 12.0\n   - This is a prerelease version\n   - See [build info](#building-love2d-12)\n2. [Tesseract][] for OCR\n\n[Tesseract]: https://github.com/tesseract-ocr/tesseract\n\n## Why?\n\n1. Lua-based applications:\n   - are easier to ship\n   - start and run faster than Python-based[^1] ones\n1. Refresh myself on Lua\n2. See how [Love2D][] has progressed\n\n[Love2D]: https://love2d.org/\n\n## What's Supported?\n\nGoals include:\n\n-[X] [Tesseract][]-style [TSV][] output\n - [X] Minimal color mapping\n - [X] System filepicker to choose files\n-[ ] Minimal UI:\n  -[ ] Mouse-based gestures\n  -[ ] Hot keys\n\nXML-based [ALTO][] *may* also happen, but it's not a\npriority given this is a port of an existing tool.\n\n\n[Tesseract]: https://github.com/tesseract-ocr/tesseract\n[TSV]: https://en.wikipedia.org/wiki/Tab-separated_values\n[ALTO]: https://en.wikipedia.org/wiki/Analyzed_Layout_and_Text_Object\n\n## How do I use `run.sh`?\n\n**TL;DR:** Install [Love2D][] + [Tesseract][] before `./run.sh`\n\n\u003e [!IMPORTANT]\n\u003e VS Code can cause Love2D to launch with no window decorations! See [VS Code Workaround](#vs-code-workaround) for a fix.\n\n### Build Love2D 12.0's Pre-Release\n\nLove2D's upcoming 12.0 release offers performance and API improvements even as an unfinished work in progress.\n\nThis means you currently have to build it from source to use this project. On Debian, you can use `sudo ./get_deps.sh` to get known build dependencies.\n\nOn other operating systems or Linux distros, you may need to consult the following:\n* The [Love2D dependencies list][]\n* The relevant documentation for your package manager\n* The [Love2D compilation instructions][]\n\nOn sufficiently Debian-like Linux, `sudo ./get_deps.sh force` **may** work. However, it's best to double check.\n\n[Love2D dependencies list]: https://github.com/love2d/love?tab=readme-ov-file#dependencies\n[Love2D compilation instructions]: https://github.com/love2d/love?tab=readme-ov-file#compilation\n\n### Add your Love2D v12.0 to `$PATH`\n\nOnce you've compiled, find the `build/` folder in the cloned Love2D repo. Then do one of the following to add the new Love2D 12.0 to your `PATH` as `love12.0`\n\n- copy the file to install it\n- link it into a `~/bin` folder\n- alias it in your `.bashrc`\n\n\u003e [!NOTE]\n\u003e You can also skip `./run.sh` and use your own build/runner script.\n\n### Building the `.love` file\n\nThe `./run.sh` script auto-packages a `.love` file from\nthe source folder.\n\n```shell\n$ ./run.sh\n```\nAll arguments after are passed through directly.\n\n### VS Code Workaround\n\nOn some Linux systems running Wayland, VS Code can cause Love2D to launch with no Window decorations.\n\nConsole output will include the following:\n```\nlibdecor-gtk-WARNING: Failed to initialize GTK\nFailed to load plugin 'libdecor-gtk.so': failed to init\nNo plugins found, falling back on no decorations\n```\n\nAs a workaround, you can launch VS Code with the following flags:\n```shell\ncode --enable-features=UseOzonePlatform --ozone-platform=wayland\n```\n\n### Future Considerations\n\nYou'll want to use the [AppImage][] for Love2D 12.0 once it releases, especially on Debian.\n\nThis will ensure you avoid creating a [FrankenDebian].\n\n\n[FrankenDebian]: https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian\n[AppImage]: https://appimage.org/\n[cloning the repo]: https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository\n\n[^1]: Both CPython and Pillow can be fairly slow.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpushfoo%2Funnamedocrvisualizerport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpushfoo%2Funnamedocrvisualizerport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpushfoo%2Funnamedocrvisualizerport/lists"}