add custom texts(labels or annotations) which are always upright to user in view port I would like to put some user defined texts(labels) besides bodies as annotations, those texts(labels) are always perpendicular to user, which means whenever I rotate or scale the object, those text's size are always the same and there orientation are always upright to the user, just like the "x,y,z" in the left bottom corner of the 3D view, see the screen shot below(pointed by red arrows).



If you use the "Ruler/Protractor" tool, you will see same kinds of texts(lables) can be added by those tools.

Any ideas about this kind of text, I need such kind of text to demonstrate the models when teaching. Thanks.

EDIT: Looks like this post https://blender.stackexchange.com/a/1606/2722 give me some ways to workaround this issue, but I definitely need a clean way.

EDIT2: Now I can correctly display a text attachment to an object in the view port. But the text is not user defined, I means I can show a matrix or a object's name, but is it possible to show a customized annotation text strings?
Labels in Render
An easy (but limited) way would be to parent the text labels to the camera.

Select text label RMB
Add camera to selection Shift-RMB
Set camara to parent Ctrl-P


After that movement of the camera or transforming the objects in the scene would no longer influence the appearance of the label.
Example rotating object and moving camera:

Labels in Viewport
If you want to draw labels in the view port you find all you need in Adhi's display_matrix.py script.