Giter VIP home page Giter VIP logo

imesupport's Introduction

IMESupport for Sublime Text

English: https://github.com/chikatoike/IMESupport/blob/master/README_en.org

概要

IMESupportは、Windows の Sublime Text で IME を利用した文字入力をサポートするパッケージです。 IME でインライン変換の入力文字が正しい位置に表示されない問題をある程度解決できます。

動作環境

Windows OS のみ対応しています。 以下のバージョンで動作します。

  • Sublime Text 2 32bit
  • Sublime Text 2 64bit
  • Sublime Text 3 32bit
  • Sublime Text 3 64bit

以下の環境で動作確認しました。

  • Sublime Text 2 32bit + Windows Vista 32bit + Microsoft Office IME 2007
  • Sublime Text 2 32bit + Windows Vista 32bit + Google日本語入力
  • Sublime Text 2 32bit + Windows Vista 32bit + SKK日本語入力FEP
  • Sublime Text 2 32bit + Windows 7 32bit + Microsoft Office IME 2010
  • Sublime Text 2 32bit + Windows 7 32bit + Google日本語入力
  • Sublime Text 2 32bit + Windows 7 32bit + SKK日本語入力FEP
  • Sublime Text 2 64bit + Windows 8 64bit + Microsoft IME 2012
  • Sublime Text 3 32bit + Windows 8 64bit + Microsoft IME 2012
  • Sublime Text 3 64bit + Windows 8 64bit + Microsoft IME 2012

ATOK等、上に書かれていないIMEでも動作するはずですが、確認していません。

インストール方法

Package Controlを使ってインストールしてください。 Package Controlをインストールした状態で、以下の手順でインストールできます。

  1. コマンドパレットで「Package Control: Install Package」を絞り込んでEnter
  2. パッケージ一覧から「IMESupport」を絞り込んでEnter
  3. ステータスバーにインストール完了のメッセージが表示されたら Sublime Text 2 を再起動

手動でインストールする場合:

コマンドプロンプト等で C:\Users\(ユーザー名)\AppData\Roaming\Sublime Text 2\Packages に移動して、 git clone してください。

機能

以下の機能が利用できます。

  • インライン変換の表示位置補正

インライン変換の表示位置補正について

この機能はインストールするだけで有効になります。ユーザー側での設定は必要ありません。

現行バージョンの Sublime Text 2 では、IMEをONにして日本語入力しようとすると、以下のようにカーソル位置とは別の場所に入力中のテキストが表示されます。

https://raw.github.com/chikatoike/IMESupport/master/img/inline1.png

これを、カーソル位置に表示されるように補正します。

https://raw.github.com/chikatoike/IMESupport/master/img/inline2.png

既知の不具合

  • IME ON で連続で入力するときに、変換確定後の次の1文字が、前の入力開始位置と同じ場所に表示されてしまいます。 これは2文字以上入力すれば、正しい位置に移動します。
  • File→New View into File で現在開いているファイルを新しいViewに表示した場合、最初のView以外では正しく動作しない可能性があります。

これは Sublime Text 自体の不具合が原因です。適当な対策を実装していますが、パッケージ側で完全に対策するのは困難です。もし正しく動作していない場合はご報告下さい。

制限事項

  • ファイル編集以外の入力は対応していません。例えば、検索文字列の入力、Goto Anything などです。これらに入力フォーカスがある場合、強制的に画面左上に表示します。
  • 垂直分割時に、左側に1つもタブ(View)が表示されていない場合、右側のViewでは正しい位置に表示されません。これは、Viewがないとウィンドウ左端からの距離が計算出来ないためです。同様に、水平分割時に上側にViewがない場合は下側で正しい位置に表示されません。

参考

CHANGELOG

2013-02-26

  • File→New View into File で開いたビューでの不具合対策(ST2/ST3)

2013-02-09

  • Sublime text 3 でside barが表示されているときに、IMEの表示位置がずれていた問題を修正 (shirosakiさん、ありがとうごさいます)

2013-01-30

  • Sublime Text 3 に対応
  • ver.0.2 開発開始

2013-01-29

  • ver.0.1 リリース

2013-01-22

  • Package Controlを使ったインストール方法を追加

2013-01-21

  • line_padding_top, line_padding_bottom が設定されているときのフォントの大きさを修正 (shspageさん、ありがとうごさいます)

2012-11-19

  • x64版に対応
  • メニューからのプロジェクト選択でクラッシュする問題を修正

2012-11-11

  • 対応するIMEについて追記

2012-11-07

  • IME起動時のフォントの大きさを修正 (tkmusic1976さん、ありがとうございます)

2012-10-30

  • 64bit版のWindowsのサポートについて記載

2012-10-29

  • 分割の比率が 1:1 ではない場合の表示位置がおかしい問題を修正
  • 最初のリリース

imesupport's People

Contributors

chikatoike avatar fichtefoll avatar i-namekawa avatar rzhb avatar shirosaki avatar shspage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imesupport's Issues

Sublime Text 3対応

Sublime Text 3でも、現時点ではインライン入力できません。
そのため IMESupport を新しいバージョンに対応させる必要があります。

ST3での大きな変更点として、プラグインが別のプロセスで動作する点があります。
IMESupportはST2では同一プロセスで動作していたのでローカルフックを使っていましたが、これが使えなくなるため、グローバルフックを使うように変更します。

グローバルフックの実装はDLLを作る必要があるため、大きな変更となります。

テキスト表示エリア以外でのインライン入力

現在、制限事項として検索文字列の入力、Goto Anything などの入力時ではインライン入力できないのでこれを出来るようにしたいです。

ただ、検索の input_panel や、Goto Anything に入力フォーカスがあるかどうかが判断できません。API を調べた限り、やはり判断する方法は無さそうです。

これが何とかできない限り対応は不可能です。

Crash when dragging tabs.

Hello expert!

This package is good for Chinese users too. Even Chinese users wrote blog articles to introduce this package.

But I get a problem with it. I have no idea about it.

I record a video to describe the problem.

Is there an easy way to resolve this problem?

system environment:

Thanks in advance!

プロジェクト移動でクラッシュ

sublime text 2 IMEsupportクラッシュログ
再現方法
メニュー→project→プロジェクト移動
でプロジェクト一覧が表示する前後ぐらいにダイアログが表示

環境
マシン: Let's Note
OS: windows 7 Professional SP1 32bit
言語: 標準(Microsoft IME 日本語)
CPU: core i5-2520M
メモリ: 4G

問題の署名:
問題イベント名: APPCRASH
アプリケーション名: sublime_text.exe
アプリケーションのバージョン: 1.0.0.1
アプリケーションのタイムスタンプ: 505a7732
障害モジュールの名前: python26.dll
障害モジュールのバージョン: 2.6.5150.1013
障害モジュールのタイムスタンプ: 4ba3e3f1
例外コード: 40000015
例外オフセット: 000553de
OS バージョン: 6.1.7601.2.1.0.256.48
ロケール ID: 1041
追加情報 1: 749c
追加情報 2: 749c2dbc6e3b631d4df153dd7ef9411b
追加情報 3: abb9
追加情報 4: abb9ea8b607b9a6bcced462a33615f80

Not work when using clone

from README

•File→New View into File で現在開いているファイルを新しいViewに表示した場合、最初のView以外では正しく動作しない可能性があります。

この不具合は on_modified passed wrong view when using clone
で報告されている不具合が原因です。

on_modified/on_selection_modified で渡される view が現在の view とは別の view になってしまっています。
Sublime Text 2 本体で対策される必要があります。

なお Sublime Text 3 で同様の問題が発生するかは未確認です。

デフォルト以外のthemeでずれないか?

現在スクロールバーの幅などは設定ファイルに定数で保持している。
デフォルト以外の.sublime-themeを使用すると、サイズが異なる可能性があり、インライン変換がずれるかもしれない。要調査。

その他

  • 設定ファイルは IMESupport.sublime-settings
  • .sublime-themeの内容から各パーツのサイズを計算できるか?

Support TSF-based IMEs

I am using a Chinese IME based on TSF, called Weasel (小狼毫), and currently it is not properly placed, while embedded transformation is not working either.
qq20130805024352

Windows 8.1 support with new style of input method?

Hello everybody. I am person who is using Sublime 2 in Windows 8.1 with Chinese version. Yesterday I updated Windows 8 to Windows 8.1 and the Pinyin input method's style in the desktop mode has changed to the style in Modern interface. The other input methods (like Sogou Pinyin Input method) can still work with IMESupport in Sublime 2. But the new Pinyin input method doesn't work correctly with IMESupport in Sublime 2. Using the new im, the result is like not installing IMESupport.(I don't learn Japanese,but it seemed like NO '位置補正'?) Can you fix the bug? Thanks a lot.

Wrong position in full screen mode

I think screenshot can explain most of the problem:

untitled

It works well on my system with Korean.
But after I enter full screen mode with F11 key,
IME composition window is shown in right to cursor about 200 ~ 300 pixel.
The problem remains after exiting full screen mode.

LocalBridge.exe Bad image

Recently, I always got the following errors, when I close the dialog, then the same new dialog shown again. It is really annoyed.

image

Ctrl-C result in error message: AppleMobileDeviceProcess.exe - Bad Image

Hi,

First, thanks for your great works, this software really helps me a lot.

I recently encounter this issue that when I press Ctrl-C to do copy-paste,
a warning came out.

2019-09-10 14_52_57-AppleMobileDeviceProcess exe - Bad Image

windows version: windows 10 enterprise 1903 18362.369
sublime version: 3.1.1 3176

It didn't happen in sublime 3.2.1 3207 (portable)
and it didn't happen if I remove IMESupport.

and if anyone wonders, that "AppleMobileDeviceProcess.exe" is coming from iTunes (Microsoft store version)
yes, I don't know how this things are connected each other.

Cheers,
Bryan

Google IMEで「あ」マークが頻繁に表示

Win 7 でGoogle IMEを使用中に直接入力時に、
全角入力表示の「あ」マークが頻繁に表示されるようです。

入力自体は英数字の直接入力モードです。

ありがとうございます。

Fixed not work with win10 x64 and Pinyin input method

hi, guys, I use windows 10 x64 and Pinyin input method, the IMESupport not work.
but after i change the hook code and recompiled it, it worked now, maybe someone else can test this method work or not...

change the code in hook/imesupport_hook.c

static LRESULT CALLBACK WindowMessageHookProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	static int x = INVALID_VALUE;
	static int y = INVALID_VALUE;
	static int font_height = INVALID_VALUE;

	switch (msg) {
	case WM_IME_STARTCOMPOSITION:
	case WM_IME_COMPOSITION:
	case WM_IME_NOTIFY: // just add WM_IME_NOTIFY message handle here and it worked !
		if (x != INVALID_VALUE && y != INVALID_VALUE && font_height != INVALID_VALUE) {
			SetInlinePosition(hWnd, x, y, font_height);
		}
		break;
	default:
		if (msg == GetMessageId()) {
			if (wParam != INVALID_VALUE && lParam != INVALID_VALUE) {
				x = (wParam >> 16) & 0xffff;
				y = wParam & 0xffff;
				font_height = lParam;
			}
			else {
				x = INVALID_VALUE;
				y = INVALID_VALUE;
				font_height = INVALID_VALUE;
			}
		}
		break;
	}

	return 0;
}

sublime

x64対応

x64に対応させるために、ウィンドウのサブクラス化ではなく、SetWindowsHookEx によるメッセージフックを使用するように変更します。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.