Как объединить два символа Unicode в DotNet и не иметь места? - PullRequest
0 голосов
/ 31 марта 2010

Когда я объединяю следующие два символа юникода, я вижу оба, но между ними есть пробел. Есть ли способ избавиться от этого пространства?

 StringBuilder  sb = new StringBuilder();
 int characterCode;
 characterCode = Convert.ToInt32("2758", 16);
 sb.Append((char)characterCode);
 characterCode = Convert.ToInt32("25c4", 16);
 sb.Append((char)characterCode);

Ответы [ 4 ]

4 голосов
/ 31 марта 2010

Если вы изучите sb, вы увидите, что он имеет длину 2. Между символами нет пробела.

Я думаю, что проблема заключается в том, что вы хотите, чтобы пиксели "on" символы были ближе друг к другу, так что 2 «символа» выглядят более «рядом» друг с другом, нет?

Edit: Как вы сказали, вы можете увидеть, если эти 2 символа смотрите «ближе» друг к другу другим шрифтом.

1 голос
/ 31 марта 2010

Символ U + 2758 выглядит очень широко в MS Gothic, но он узок в Arial Unicode MS. Попробуйте изменить свой шрифт.

1 голос
/ 31 марта 2010

Пробела нет, это артефакт шрифта вашего дисплея.

1 голос
/ 31 марта 2010

Не будет

  var str = "\x2758\x25c4"

работа

...