This question is general, but arises because I am using Times fonts; in CM, I would not make these changes. In CM, delimiters have a height that is larger than that of a capital letter, whereas in Times, the heights are the same.
I want the ordinary delimiters, such as ()[]|\|\{\}\langle\rangle, to be from the same font they already come from, just 1pt larger than normal. When it is a macro, this is not too hard since I can redefine it. This leaves just |, I think.
My constraints are the following (this is being used in a 720-page book that is already written, so some things are fixed): It should be (e)plain tex. I don't want to make any of these characters active, as they might cause problems for some macros (of which I have many). I don't mind using a new family, but would prefer not to use 2 new families. I do have a scratch family that I use for symbols that are defined via a macro; that family can change to any font at any time in an \hbox. I don't want to replace all occurrences of delimiters by macros. Also, I do not want to change the delimiters when they come from the extension font (like \big(). No doubt I could create new fonts, but I don't know how to do that, nor do I know how to install them; further, it would make it harder for others (such as my co-author) to TeX the book files.
Note that ()[] come from the rm font, whereas the others come from the sy font.
To handle the former, I can use the following, after building a new family that is simply the existing rm family but 1pt larger (which seems wasteful, but works):
\multiply\buildfam by "100
\count255=\mathcode`(
\advance\count255 by \buildfam
\mathcode`(=\count255
\count255=\mathcode`)
\advance\count255 by \buildfam
\mathcode`)=\count255
\count255=\mathcode`[
\advance\count255 by \buildfam
\mathcode`[=\count255
\count255=\mathcode`]
\advance\count255 by \buildfam
\mathcode`]=\count255
I could do a similar thing for the other symbols, but that would require a new family.
Even so, this works only in mathmode; that's an acceptable limitation, but not perfect.
The following shows how things look in roman (unchanged in the first two and changed in the third):
For comparison, here's how CM looks unchanged:
As an alternative, I would be happy to raise the axis for these delimiters (indeed, using a larger font does raise the axis), but changing \fontdimen22 is taken into account only for ex fonts (in mathmode) and would also change the axis of other symbols. (CM's delimiters have a larger depth than those of Times to make up for their larger height, in order to keep the axis the same.)
I would also like to do the same with the delimiter /, but that is in yet a 3rd font, mi.
I discovered that I can use \mathcode="8000 to make characters active only in math mode. This seems to avoid any problems with macros, at least so far. Furthermore, I do not need to create any new font families, even in scratch. E.g., I can do the following:
\def\hboxmathit#1#2{\hbox{$#1#2$}}
{\catcode`|=\active
\gdef|{{\mathpalette\hboxmathit{\biggersize\vert}}}}
\mathcode`|="8000
Here, I have font environments, like \tenpoint, \ninepoint, \elevenpoint, already defined (sometimes I want to change the overall font sizes), and have a macro \biggersize that simply increases the font environment by 1. In the present case, I put the whole thing in an extra layer of grouping since it can appear as an argument to \mathopen. It works even after \big, though I don't know why.
However, I cannot figure out how to do something similar with \langle so that it works after \big. It seems that expansion of a \mathcode"8000 character occurs at a different time than that of a macro. For example, \big|, using the simpler definition
\gdef|{{\hbox{$\biggersize\vert$}}}}
expands as follows:
\big #1->{\hbox {$\left #1\vbox to8.5pt{}\right .\n@space $}}
#1<-|
\n@space ->\nulldelimiterspace \z@ \m@th
\m@th ->\mathsurround \z@
|->{\hbox {$\biggersize \vert $}}
...
\vert ->\delimiter "26A30C
On the other hand, if I try $\big{{\hbox{$\biggersize\vert$}}} X|$, then it expands with a missing delimiter:
\big #1->{\hbox {$\left #1\vbox to8.5pt{}\right .\n@space $}}
#1<-{\hbox {$\biggersize \vert $}}
! Missing delimiter (. inserted).
<to be read again>
{
<argument> {
\hbox {$\biggersize \vert $}}
\big #1->{\hbox {$\left #1
\vbox to8.5pt{}\right .\n@space $}}
l.183 $\big{{\hbox{$\biggersize\vert$}}}
X|$
? r


\pdfliteraltrickery though to modifiy the glyph shapes. This would then involve making the characters active or replacing them by a macro. https://tex.stackexchange.com/questions/135783/make-math-symbol-italic/199943#199943 – Henri Menke Dec 06 '15 at 11:08\big, and I have not figured out how to do that. – Russ Lyons Dec 07 '15 at 03:51