How can I set TextMesh's font size to pixel size?

I will use TextMesh to render GUIs. (and support unicode characters.) and I cannot use GUIText or GUI.Label in some reason.

I have orthographic camera for GUI, and size is always half of screen height. It perfectly matchs world position 1 to pixel position 1.

I make TextMesh GameObject which font size is 32, and character size 1. but It looks very small in game play screen. I want to 32 size font renders perfectly 32 pixel size. How can I?

Or Is there some formular to create polygons in TextMesh?

Or I hope freetype lib ported in c#.. (not dll, because of web publishing)

Change the scale of your textmesh. This way you can make it smaller or larger as you require. I'm running mine at 0.05 scale, going the other way, making very large font textures smaller so that they're perfectly aliased when close to the camera. You'll need to go the other way, making the scale larger.

You need to set both character size and text size. If font size is the world unit desired size, set character size to 10. See here - TextMesh characterSize vs fontSize - Questions & Answers - Unity Discussions

You could try using my Pixel-Perfect Dynamic Text asset which is an alternative for TextMesh.

For Pixel-Perfect Dynamic Text you set text size in world units, and it will automatically figure out the closest actual pixel size for your current camera and dpi and screen resolution.

(For the new UI system) On the object go to Text (Script) >> Paragraph >> Best Fit, check that box (and make sure Font Size is not 0). Then change the scale of that to the desired size. This will also make sure the text stays clear unlike simply changing the scale.