Jim McGrath said he had had a "series of setbacks" and remained in a "guarded condition", but was alert and conversing with family and doctors.
Mr Bush, aged 88, has been in the Methodist Hospital in Houston, Texas, since he was taken there for bronchitis treatment on 23 November.
He is the oldest living former president and a World War II veteran.
Mr Bush was Ronald Reagan's vice-president for two terms and became the 41st president in 1989, but was defeated by Democrat Bill Clinton when he stood for re-election in 1992.
Mr Bush was now on a liquids-only diet, the spokesman said, describing his ailment as "a stubborn fever that won't go away".
He said the former president had not been able to celebrate Christmas in the traditional sense but his family was with him.
"He's conscious and he's able to engage in humorous banter with his doctor," Mr McGrath said.
He also said that doctors were cautiously optimistic about Mr Bush's treatment.
When first admitted, the former president had only been expected to stay in hospital a few days, but a persistent fever kept him in hospital until and over Christmas.
On Christmas Day, Mr Bush was visited by his wife, Barbara, his son Neil and other family members.
He has also been visited twice by his son George W Bush, who served as 43rd president in 2001-09.