我正在尝试在Processing中模拟打字机,类似于this one。
由于我主要用葡萄牙语写作,我需要变音符号,在打字机中将其作为非前进键(它打印重音,然后在其下打印下一个键,例如“pépãopátria”)。
当我只使用以下行来打印键值和代码时,当我输入~
时,即使重复,我也什么都没得到,当我输入~
+ a
时,我得到了只有a
:
void keyPressed()
println("key: " + String.valueOf(key) + " value: " + int(key) + " code: " + keyCode);
}
所以问题是:
如何在拉丁语布局键盘(法语,西班牙语,葡萄牙语)中捕捉变音符重音键,以及如何用它们组合带有unicode重音字符?
答案 0 :(得分:1)
如果键盘设置为正确的语言且字体支持字符,则应该可以使用这些字符。
以下是基于您提供的链接的示例:
String text1 = " ";
PFont font;
int bfill = 150;
boolean randomizer = false;
void setup() {
size(400, 400);
smooth();
font = createFont("Arial",48);//loadFont("Arial-Black-48.vlw");
textFont(font, 20);
}
void draw() {
background(bfill);
fill(255);
text(text1, 0, 40, width, height);
if(randomizer) {
for(int j = 0; j < 400; j++) {
text1 += char(int(random(18, 126)));
}
text(text1, 0, 40, width, height);
text1 = " ";
}
}
void keyPressed() {
if (key == BACKSPACE) {
if(text1.length() > 0) {
text1 = text1.substring(0, text1.length() - 1);
}
}
else if (key == '1') {
randomizer = true;
}
else {
text1 += key;
if(key == 'ă') println("got ă");
}
}
我只是将键盘输入更改为罗马尼亚语(也有变音符号,例如ăâîşţ)。
我还看到在ă
字符上按预期打印到控制台的消息:
got ă