Comments (9)
I think there may be some Unicode/UTF-8 in OF 0.9.0
Take a look at this and see if it may help
http://blog.openframeworks.cc/post/133404738514/openframeworks-090-ofthreadchannel-utf-8-and
Especially the section about ofAppendUTF8(str,key)
from ofximgui.
Yes, but ImGui combine key code to string and parse to utf8, we just use AddInputCharacter to add key code.
https://github.com/arturoc/glfw/blob/feature-keysUnicode/src/win32_window.c#L320
case WM_SYSKEYDOWN:
{
const int scancode = (lParam >> 16) & 0x1ff;
const int key = translateKey(wParam, lParam);
if (key == _GLFW_KEY_INVALID)
break;
const int unicode = translateToUnicode(wParam,scancode);
_glfwInputKey(window, key, scancode, unicode, GLFW_PRESS, getKeyMods());
break;
}
case WM_CHAR:
{
_glfwInputChar(window, (unsigned int) wParam, getKeyMods(), GL_TRUE);
return 0;
}
case WM_SYSCHAR:
{
_glfwInputChar(window, (unsigned int) wParam, getKeyMods(), GL_FALSE);
return 0;
}
case WM_UNICHAR:
{
// This message is not sent by Windows, but is sent by some
// third-party input method engines
if (wParam == UNICODE_NOCHAR)
{
// Returning TRUE here announces support for this message
return TRUE;
}
_glfwInputChar(window, (unsigned int) wParam, getKeyMods(), GL_TRUE);
return FALSE;
}
oF already translate char to unicode, but ImGui input just need (unsigned int) wParam
There is no different change to use glfwSetCharCallback(), but add features to support IME input.
from ofximgui.
ok - I think I understand. I will take a look
from ofximgui.
static char buf[256] = "";
bool isinput = ImGui::InputText(ofLocaleToUtf8("输入中文").c_str(), buf, IM_ARRAYSIZE(buf));
if (isinput)
{
ofLogNotice( ofToString(buf) );
}
display Garbled
from ofximgui.
@Geistyp How to convert static char buf[256]
from ofximgui.
@o2co2 what do you mean?
Is that "输入中文" garbled? or your IME input garbled?
from ofximgui.
@Geistyp see the picture
from ofximgui.
@o2co2
console output chinese? try setlocale(LC_ALL, "chs");
from ofximgui.
@Geistyp Thank you
static char buf[256] = "";
bool isinput = ImGui::InputText(ofLocaleToUtf8("输入中文").c_str(), buf, IM_ARRAYSIZE(buf));
if (isinput)
{
std::wstring sw = UTF8ToUnicode(ofToString(buf));
std::string uToa = UnicodeToANSI(sw);
ofLogNotice(uToa.c_str());
}
from ofximgui.
Related Issues (20)
- No gui on Android HOT 2
- UTF-8 rendering fails with garbled characters. I need your help! Thank you! HOT 2
- input latin characters HOT 2
- ofxImGuiLoggerChannel.h HOT 2
- Merging forks : ImGuiContext and more HOT 8
- EGl window rk boards HOT 10
- ofxImGui upgrade HOT 8
- arb textures HOT 1
- imgui_stdlib.h and imgui_stdlib.cpp should be included in project files HOT 1
- Closing a window within a window? HOT 3
- imgui_impl_glfw_context_support.h missing from develop branch.
- develop brach broken HOT 5
- ofxImGui::Gui::exit() released context, can't Gui::setup() again HOT 2
- OF 0.12 compatibility HOT 1
- Drawing ofFbo's texture as ImGui::Image(); HOT 3
- constexpr float ofColorScale: Syntax error in input HOT 1
- Example Demo will not compile Ubuntu version 24.04 and Openframeworks version 0.12.0 both fresh install HOT 2
- Example demo from Master branch will not build on Windows 11 and oF 0.12.0 HOT 2
- Better multi-context support
- I make oF window borderless(not fullscreen),the screen display has an offset(mouse also)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ofximgui.