Valve is using the sprite format for the TF2 crosshairs, rather than the true type font used n HL2. This could be from it's very old pedigree (how long was this game in the works?), or perhaps they just prefer it. Whatever the reason, mod makers should be happy, as with the right GCF and VTF tools, making replacements will be much easier.
The TF2 crosshair for the regular weapons is located in the team fortress 2 materials.gcf file, found by following this path on the drive where your game is installed: Valve\Steam\Steam Apps\. Inside the gcf file, it can be found here: root\tf\materials\sprites\. The file is called crosshairs.vtf, and it contains 5 designs shared by all the regular weapons used in the game.
You'll need to set up a path similar to the one in the team fortress 2 gcf file, inside your game folder to make a replacement crosshair work. Follow this path: Valve\Steam\Steam Apps\Your account name\team fortress 2\tf.
Inside the TF folder create a folder called materials. Then inside the materials folder create a folder called sprites. This is where the replacement crosshair will go. The game will look in this sprites folder before looking at the one inside the gcf file. If it doesn't find a crosshair here, it refers to the one in the GCF file, which means uninstalling a replacement crosshair is as simple as deleting the file in the sprites folder you created.
The three crosshairs below offer basically the stock crosshairs with slight modifications, in Green, Red, and Blue. Eventually, I hope to have some new designs as well, and also info on the sniper scope hairs.
By the way, you'll find that medics needles and grenades were made to be on target only at their maximum range. It's pretty annoying, but it's not a problem with the crosshair. This is either an intended feature, or a bug that is yet to be fixed.