{"id":14976632,"url":"https://github.com/easyime/pime","last_synced_at":"2025-05-14T12:09:19.307Z","repository":{"id":20131856,"uuid":"23401958","full_name":"EasyIME/PIME","owner":"EasyIME","description":"Develop input methods for Windows easily with Python and node.js","archived":false,"fork":false,"pushed_at":"2024-12-06T01:17:44.000Z","size":114863,"stargazers_count":1382,"open_issues_count":342,"forks_count":226,"subscribers_count":84,"default_branch":"master","last_synced_at":"2025-04-11T04:57:54.154Z","etag":null,"topics":["chinese","ime","tsf","windows-10"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EasyIME.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":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-27T19:10:24.000Z","updated_at":"2025-03-25T11:30:55.000Z","dependencies_parsed_at":"2024-12-26T09:14:23.286Z","dependency_job_id":null,"html_url":"https://github.com/EasyIME/PIME","commit_stats":{"total_commits":935,"total_committers":35,"mean_commits":"26.714285714285715","dds":0.532620320855615,"last_synced_commit":"3df0f7ff5b8cbaa8ffc27274b7ce2f359aae2f26"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EasyIME%2FPIME","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EasyIME%2FPIME/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EasyIME%2FPIME/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EasyIME%2FPIME/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EasyIME","download_url":"https://codeload.github.com/EasyIME/PIME/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248345273,"owners_count":21088244,"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":["chinese","ime","tsf","windows-10"],"created_at":"2024-09-24T13:54:10.958Z","updated_at":"2025-04-11T04:58:08.496Z","avatar_url":"https://github.com/EasyIME.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PIME\n\n[![Build status](https://ci.appveyor.com/api/projects/status/ju8c225nt9qgxeee?svg=true)](https://ci.appveyor.com/project/EasyIME/PIME)\n[![GitHub release](https://img.shields.io/github/release/EasyIME/PIME.svg)](https://github.com/EasyIME/PIME/releases)\n\nImplement input methods easily for Windows via Text Services Framework:\n*   LibIME contains a library which aims to be a simple wrapper for Windows Text Service Framework (TSF).\n*   PIMETextService contains an backbone implementation of Windows text service for using libIME.\n*   The python server part requires python 3.x and pywin32 package.\n\nAll parts are licensed under GNU LGPL v2.1 license.\n\n# Development\n\n## Tool Requirements\n*   [CMake](http://www.cmake.org/) \u003e= 3.0\n*   [Visual Studio 2019](https://visualstudio.microsoft.com/vs)\n*   [git](http://windows.github.com/)\n\n## How to Build\n*   Get source from github.\n\n        git clone https://github.com/EasyIME/PIME.git\n        cd PIME\n        git submodule update --init\n\n*   Use the following CMake commands to generate Visual Studio project.\n\n        cmake -G \"Visual Studio 16 2019\" -A Win32 \u003cpath to PIME source folder\u003e\n        cmake -G \"Visual Studio 16 2019\" -A x64 \u003cpath to PIME source folder\u003e\n\n*   Open generated project with Visual Studio and build it.\n\n## TSF References\n*   [Text Services Framework](http://msdn.microsoft.com/en-us/library/windows/desktop/ms629032%28v=vs.85%29.aspx)\n*   [Guidelines and checklist for IME development (Windows Store apps)](http://msdn.microsoft.com/en-us/library/windows/apps/hh967425.aspx)\n*   [Input Method Editors (Windows Store apps)](http://msdn.microsoft.com/en-us/library/windows/apps/hh967426.aspx)\n*   [Third-party input method editors](http://msdn.microsoft.com/en-us/library/windows/desktop/hh848069%28v=vs.85%29.aspx)\n*   [Strategies for App Communication between Windows 8 UI and Windows 8 Desktop](http://software.intel.com/en-us/articles/strategies-for-app-communication-between-windows-8-ui-and-windows-8-desktop)\n*   [TSF Aware, Dictation, Windows Speech Recognition, and Text Services Framework. (blog)](http://blogs.msdn.com/b/tsfaware/?Redirected=true)\n*   [Win32 and COM for Windows Store apps](http://msdn.microsoft.com/en-us/library/windows/apps/br205757.aspx)\n*   [Input Method Editor (IME) sample supporting Windows 8](http://code.msdn.microsoft.com/windowsdesktop/Input-Method-Editor-IME-b1610980)\n\n## Windows ACL (Access Control List) references\n*   [The Windows Access Control Model Part 1](http://www.codeproject.com/Articles/10042/The-Windows-Access-Control-Model-Part-1#SID)\n*   [The Windows Access Control Model: Part 2](http://www.codeproject.com/Articles/10200/The-Windows-Access-Control-Model-Part-2#SidFun)\n*   [Windows 8 App Container Security Notes - Part 1](http://recxltd.blogspot.tw/2012/03/windows-8-app-container-security-notes.html)\n*   [How AccessCheck Works](http://msdn.microsoft.com/en-us/library/windows/apps/aa446683.aspx)\n*   [GetAppContainerNamedObjectPath function (enable accessing object outside app containers using ACL)](http://msdn.microsoft.com/en-us/library/windows/desktop/hh448493)\n*   [Creating a DACL](http://msdn.microsoft.com/en-us/library/windows/apps/ms717798.aspx)\n\n# Install\n*   Copy `PIMETextService.dll` to C:\\Program Files (X86)\\PIME\\x86\\.\n*   Copy `PIMETextService.dll` to C:\\Program Files (X86)\\PIME\\x64\\.\n*   Copy the folder `python` to `C:\\Program Files (X86)\\PIME\\`\n*   Copy the folder `node` to `C:\\Program Files (X86)\\PIME\\`\n*   Use `regsvr32` to register `PIMETextService.dll`. 64-bit system need to register both 32-bit and 64-bit `PIMETextService.dll`\n\n        regsvr32 \"C:\\Program Files (X86)\\PIME\\x86\\PIMETextService.dll\" (run as administrator)\n        regsvr32 \"C:\\Program Files (X86)\\PIME\\x64\\PIMETextService.dll\" (run as administrator)\n\n*   NOTICE: the `regsvr32` command needs to be run as Administrator. Otherwise you'll get access denied error.\n*   In Windows 8, if you put the dlls in places other than C:\\Windows or C:\\Program Files, they will not be accessible in metro apps.\n\n# Uninstall\n*   Use `regsvr32` to unregister `PIMETextService.dll`. 64-bit system need to unregister both 32-bit and 64-bit `PIMETextService.dll`\n\n        regsvr32 /u \"C:\\Program Files (X86)\\PIME\\x86\\PIMETextService.dll\" (run as administrator)\n        regsvr32 /u \"C:\\Program Files (X86)\\PIME\\x64\\PIMETextService.dll\" (run as administrator)\n*   Remove `C:\\Program Files (X86)\\PIME`\n\n*   NOTICE: the `regsvr32` command needs to be run as Administrator. Otherwise you'll get access denied error.\n\n# Bug Report\nPlease report any issue to [here](https://github.com/EasyIME/PIME/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feasyime%2Fpime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feasyime%2Fpime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feasyime%2Fpime/lists"}