The magic keyword here is mipmapping.
Mipmapping increases smoothness and decreases aliasing artifacts if a texture is rendered at a smaller size than its actual pixel resolution. However, even if displayed exactly at pixel resolution, it will introduce some amount of blurryness in Unity. In addition, several parameters influence how a mipmapped texture appears on the screen.
Essentially, you have two options:
- To achieve a crisp rendering of your texture, set the Texture Type to “Advanced”, disable MipMapping, and disable non-power-of-two scaling (otherwise you will introduce another level of blurring due to rescaling). The disadvantage is, you’ll get aliasing artifacts, if you zoom out.
- To achieve a smooth display of your texture at any viewing distance, enable mipmapping, use “ToNearest” power-of-two scaling (sometimes even “ToLarger” might be better), and set the Filter Mode to “Trilinear” (This is important! Otherwise MipMap interpolation will not work). The disadvantage is some level of blurryness in your texture rendering.
Note also that for certain types of textures, DXT-compression creates heavy artifacts, so you can try to set the Texture Format to “Automatic Truecolor” and see if that increases the readability of your text.
Obviously, you should increas the Max Size to at least 2048, if your texture width is 1700.
EDIT: further Info for Unity >=4.x:
In Unity 3.5 it is IMPOSSIBLE to get a 1:1 texture representation for non-power-of-two (NPOT) textures, since Unity is internally unavoidably rescaling to POT (The only exception: objects of type “GUITexture” (and possibly OnGUI()). Your only chance is to “pad” your textures with a transparent border, so that the texture will already be POT.
This “bug” was fixed in Unity 4.x, so here you CAN get truly 1:1 pixel-exact rendering for your screen-aligned textures, providing your screenspace placement (scaling and positining) is correct:
NOTE for orthographic cameras, you can adjust your objects in a pixel coordinate system if you create an empty GameObject, reset the transform, and set its scale to 2*(ortho size)/(target screen resolution height). Then add another GameObject to that, reset its transform, and shift it by 0.5/0.5 (i.e., half a pixel). This offset is essential due to an intrinsic pixel/texel/camera offset.
Any object attached to that 2nd GameObject (and aligned to the camera plane) is placed and sized in pixel space. Note you should only use integer coordinates or set the texture filtering to Point, otherwise it will once again be blurred.