Since no one else has commented, I am taking an initiative to talk about overall quality of drafting. In this case, relative to leader arrows. This might be deemed off-subject, but it looks like a good starting place to me.
The above code that I posted is good for its situation, sizing the arrow by text height, but it is an isolated remedy for the problem. In my opinion, a system wide method for all drafting would be more desirable.
Therefore, I want to suggest a different method for sizing leader arrows. Too often I see drawings that use a line width that is too fat for their linetype (dashes, dot-dashes, etc). Additionally, line width is an internal CAD control for the character strokes within text (about which, many are apparently unaware). So my practice is to employ line width as a printing control for lines, text, and leader arrows.
Subsequently, I use line color for sizing text lettering and arrow size, along with line width, when printing. I stick to the standard color set of gray, white, red, yellow, green, cyan, and blue. Gray (which I call silver to differ it from green by one letter codes) is the smallest character size that I want use, and blue is the largest. My choice is that any irregular color (per an outside drafter) is always printed as if it is red.
I also always work in model space, and line sizes are fixed by various "print.ctb" files (PrintBlack, PrintMono, etc), which can be saved from the custom line width and printing configuration menu. Then that file can be selected by the print GUI when printing.
When I see the colors I know how the line strokes will look when printed. Any text that is, say "red" or "green", will always have their specific widths, or for text, its character height and stroke width. I handle this with a LISP system of algorithms. When I print small text it is always readable, and when I print large text its strokes look natural for the height. By the same system all line types are equally legible, and arrow size is cosmetically correct.
It makes a good looking drawing, and more importantly, it allows all printed data (line types and text) to be recognizable and readable. Likewise, because it is a systematic control, every drawing has the same draftsmanship.
All of it is dynamic by the LTscale variable, CTB file, and color selections. The three combine to produce a natural drawing at any drafting scale.
Yet for myself, I go a little further. I draw lines and post text by layer assignment. I have also built a Text Editor that integrates the color controls. It is similar to the Mtext Editor, but rather than being an RTF type, it is an ASCII Editor. It can compose multiple lines, and each line is terminated with a color code (S,W,R,Y,G,C,B) for sizing all the text on that line. An example is as follows.
THIS IS AVERAGE SIZING\Y
THIS IS TINY SIZING\S
THIS IS THE LARGEST SIZE\B
The above (with the custom editor) will create a paragraph where each line has a different character height. It makes things look good, and an alternate mixed height within a line is not permitted. I just don't think that mixed height within a line is helpful for reading. Yet mixed line heights within a paragraph brings emphasis to important and secondary information. Such as with a Title Block (mine are always free-style paragraphs) where the title is large, and subordinate information is smaller.
You can employ the same method with Mtext. A LISP can create a file with NotePad; save it; then load and convert it to Mtext. I do this as well, for compatibility with other companies and their drafting practice... they frequently prefer Mtext.
For myself, it is always about having the same product all the time.
Rick