Si son líneas diferentes no veo mayor problema en que cada una tenga un tamaño, tipo de letra y color diferente,
Lo que si sería necesario (imprescindible) es poder diferenciar en que línea se está, y basándonos que dos (o más) son mayoría, bastaría sumarle (en tiempo de ejecución) dos puntos al tamaño de la letra.
Desconociendo el diseño, voy a suponer que cada conjunto de líneas (1,2,3,...) es una agrupación y que no se utiliza su cabecera (que sería una opción: poner en ella la linea1) al estar todas en la sección detalle y no disponer de un identificador de línea, creamos uno
.- Un cuadro de texto de nombre nLin
.- Alto y ancho cero, visible NO, posición 0 y 0
.- Origen de datos: =1, suma continua = si y sobre grupo.
El siguiente código utiliza a nLin como referencia al número de línea y a uno de los cuadros de texto [cuadro_de_texto1], se le cambia el tamaño, la fuente de la letra y la cualidad 'negrilla'
Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer)
If Me.NLin > 2 Then Exit Sub
Me.[cuadro_de_texto1].FontSize = 8 + 2 * Abs(Me.NLin = 1)
Me.[cuadro_de_texto1].FontBold = Abs(Me.NLin <> 1)
Me.[cuadro_de_texto1].FontName = IIf(Me.NLin = 1, "Arial", "forte")
End Sub
Como los cambios solo son para la línea 1 y se queda con los últimos valores aplicados, a partir de la línea 3 ya no ejecuta el código (no es necesario)