+sub escape_br {
+ my ($self, $var) = @_;
+
+ $var =~ s/\r//g;
+ $var =~ s/\n/<br>/g;
+
+ return $var;
+}
+
+sub format_string {
+ my $self = shift;
+ my $string = shift;
+
+ return $main::form->format_string($string, @_);
+}
+
+sub numtextrows {
+ my $self = shift;
+
+ return $main::form->numtextrows(@_);
+}
+
+sub _turn90_word {
+ my $self = shift;
+ my $word = shift || "";
+
+ return join '<br>', map { $main::locale->quote_special_chars('HTML', $_) } split(m//, $word);
+}
+
+sub turn90 {
+ my $self = shift;
+ my $word = shift;
+ my $args = shift;
+
+ $args ||= { };
+ $word ||= "";
+
+ $args->{split_by} ||= 'chars';
+ $args->{class} = " class=\"$args->{class}\"" if ($args->{class});
+
+ if ($args->{split_by} eq 'words') {
+ my @words = split m/\s+/, $word;