Sideway text is possible using RotatedBox, which is enough for the text to correctly wrap as you’d expect.
Row(
children: <Widget>[
RotatedBox(
quarterTurns: 1,
child: Text(sample),
),
Expanded(child: Text(sample)),
RotatedBox(
quarterTurns: -1,
child: Text(sample),
),
],
),

Similarly, Flutter now supports inline widgets inside text. This can be used to rotate smileys inside a text.
RotatedBox(
quarterTurns: 1,
child: RichText(
text: TextSpan(
text: 'Hello World',
style: DefaultTextStyle.of(context).style,
children: [
WidgetSpan(
child: RotatedBox(quarterTurns: -1, child: Text('😃')),
)
],
),
),
),
